在dotnet SDK和Docker容器上
这个问题应该是非常简单的。
假设你正在尝试运行一个Asp.Net Core Web Api。 该应用程序将运行在干净的Linux安装中的Docker容器(味道并不重要)。 该容器位于一个带有泊坞窗工具的Kubernetes集群中的POD内部。
Dockerfile需要定位一个特定版本的aspnetcore,看起来像这样:
FROM microsoft/aspnetcore:1.1 COPY . /app WORKDIR /app EXPOSE 5000/tcp ENV ASPNETCORE_URLS http://*:5000 ENTRYPOINT ["dotnet", "run"]
testing一下,我运行一个Docker命令
所以我被困在这里, 我假设ENTRYPOINT定义中的“dotnet”命令是运行.Net Core SDK。
如果此Linux代理上的容器没有安装SDK,或者所安装的SDK是您尝试使用的SDK的较旧版本,那么您将如何将此代码移植到Docker构build中? 从本质上来说,ENTRYPOINT中的“dotnet”命令是指一个不存在的程序?
我是否应该用容器打包SDK? 如果是这样,该行应该读取ENTRYPOINT [“./dotnet”,“run”],因为它在Linux上? 另外如果是这样,我需要执行什么其他步骤来打包SDK?
我的假设是SDK已经打包在Microsoft / aspnetcore:1.1的容器中了吗? 如果是这样,有没有办法在ENTRYPOINT定义中引用打包的可执行文件?
任何有识之士将不胜感激!
如果你需要SDK,我想你想要https://hub.docker.com/r/microsoft/aspnetcore-build/ 。
你使用的图像只包括运行时,而不是SDK。
- 如何检查在PS1中dotnet恢复是否正常?
- .NetCore PostAsync和GetAsync不适用于Docker
- 捕获404并redirect到wwwroot
- 如何使用Docker和dotnet watch来设置ASP.NET核心2.0
- Dotnet核心Docker应用挂在Synology版本上
- 在Docker-image microsoft / aspnetcore-build:1.1.0-msbuild中构buildASP.NET Core 1.1 preview4项目
- 如何将.net core web api部署到linux机器上
- 如何在Docker容器中运行.NETunit testing
- Dotnet core 2 docker:找不到可执行的匹配命令“dotnet-watch”