大佬教程收集整理的这篇文章主要介绍了ASP.NET 5:使用多项目解决方案的Docker构建,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
更新日期:2018年2月14日
我之前的答案没有考虑编写Dockerfile的最佳实践。它对于具有多个Web项目的解决方案也不起作用,其中每个应用程序必须在单独的Docker容器中运行。更好的方法是在开发环境中构建和发布ASP.NET Core应用程序,然后在针对生产用途进行了优化的Docker容器中运行该应用程序。
将以下内容放入其中
FROM microsoft/aspnetcore
copY ./publish /publish workdir /publish EXPOSE 5000/tcp ENTRYPOINT [“dotnet”, “QuizzCorrector.dll”]
@H_874_7@通过运行来构建和发布项目 dotnet publish -c Release -o publish
docker build -t QuizzCorrector
请注意,@H_387_13@microsoft/aspnetcoreDocker映像是仅用于运行时的映像,不提供.NET Core SDK,这使其在生产中更轻巧更好。
可能已经晚了,但是对于那些仍在努力使它起作用的人,我将回答这个问题。
您需要在解决方案级别创建一个Dockerfile。然后,您需要更新您的工作文件夹以使用Web项目所在的文件夹。考虑到最终的Dockerfilekpm
和k
实用程序已被一种dotnet
工具取代,因此在此处。
FROM microsoft/dotnet:latest
copY . /app
workdir /app/src/QuizzCorrector
RUN ["dotnet", "restore"]
EXPOSE 5004
ENTRYPOINT ["dotnet", "run"]
我正在尝试创建由4个项目组成的ASP.NET 5解决方案的映像。结构如下:
我有一个简单的Dockerfile,看起来像这样:
FROM microsoft/aspnet
COPY . /app
WORKDIR /app
RUN ["kpm","restore"]
EXPOSE 5004
ENTRYPOINT ["k","kestrel"]
但不确定放在哪里。在我的解决方案的根文件夹中global.json所在的位置,还是在我的Web应用程序文件夹中我的project.json所在的位置?当然,我已经根据该文件的位置对其进行了修改。
无论如何,两者似乎都可以正常工作,因为它在我运行命令时下载了我需要的所有库
我的问题是码头工人告诉我
我在此线程https://github.com/aspnet/aspnet-
docker/issues/19上看到,在多项目解决方案中,我们应该运行命令“ kpm pack”将我的应用打包为可部署和可运行的形式。
我用kpm
pack命令找不到Dockerfiles的任何示例,只有文档:https : //github.com/aspnet/Home/wiki/Package-
Manager
我当然也尝试在Dockerfile中使用 ADD 或 COPY 命令将项目的内容复制到容器的文件系统中,但是仍然是相同的错误。
谢谢你帮我
以上是大佬教程为你收集整理的ASP.NET 5:使用多项目解决方案的Docker构建全部内容,希望文章能够帮你解决ASP.NET 5:使用多项目解决方案的Docker构建所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。