更新日期:2018年2月14日
我之前的答案没有考虑编写Dockerfile的最佳实践。它对于具有多个Web项目的解决方案也不起作用,其中每个应用程序必须在单独的Docker容器中运行。更好的方法是在开发环境中构建和发布ASP.NET
Core应用程序,然后在针对生产用途进行了优化的Docker容器中运行该应用程序。
- 在Web应用程序文件夹中创建Dockerfile
将以下内容放入其中
FROM microsoft/aspnetcore
COPY ./publish /publish
WORKDIR /publish
EXPOSE 5000/tcp
ENTRYPOINT [“dotnet”, “QuizzCorrector.dll”]通过运行来构建和发布项目
dotnet publish -c Release -o publish
- 通过运行构建Docker映像
docker build -t QuizzCorrector
请注意,
microsoft/aspnetcoreDocker映像是仅用于运行时的映像,不提供.NET Core SDK,这使其在生产中更轻巧更好。
可能已经晚了,但是对于那些仍在努力使它起作用的人,我将回答这个问题。
您需要在解决方案级别创建一个Dockerfile。然后,您需要更新您的工作文件夹以使用Web项目所在的文件夹。考虑到最终的Dockerfilekpm
和k
实用程序已被一种dotnet
工具取代,因此在此处。
FROM microsoft/dotnet:latestCOPY . /appWORKDIR /app/src/QuizzCorrectorRUN ["dotnet", "restore"]EXPOSE 5004ENTRYPOINT ["dotnet", "run"]



