希望这个问题能很直截了当。
假设您正在尝试运行一个Asp.Net核心网络应用程序。该应用程序将运行在一个Docker容器内,一个干净的Linux安装(味道并不重要)。容器驻留在一个带有对接工具的Kubernetes集群中的POD中。
Dockerfile需要针对特定版本的aspnetcore,如下所示:
FROM microsoft/aspnetcore:1.1
COPY . /app
WORKDIR /app
EXPOSE 5000/tcp
ENV ASPNETCORE_URLS http://*:5000
ENTRYPOINT ["dotnet", "run"]通过测试,我运行了一个Docker命令.

因此,我遇到的困难是:我假设入口点定义中的"dotnet“命令正在运行.Net Core。
如果这个Linux代理上的容器没有安装SDK,或者安装的SDK是您试图使用的旧版本的SDK,那么您将如何将其用于docker构建?本质上,入口点中的"dotnet“命令是指一个不存在的程序?
我是否也应该将SDK与容器一起打包呢?如果是这样的话,那行应该读ENTRYPOINT "./dotnet","run“,因为它在Linux上吗?如果是的话,我还需要执行哪些其他步骤来打包SDK呢?
我的假设是SDK已经打包在带有microsoft/aspnetcore:1.1的容器中。如果是的话,是否有方法在入口点定义中引用已打包的可执行文件?
任何洞察力都将不胜感激!
发布于 2017-06-13 00:17:16
如果您需要SDK,我认为您需要https://hub.docker.com/r/microsoft/aspnetcore-build/。
您使用的映像只包括运行时,而不是SDK。
https://stackoverflow.com/questions/44510506
复制相似问题