mac、mac m1 打包asp.net core成docker
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mac、mac m1 打包asp.net core成docker,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1379字,纯文字阅读大概需要2分钟。
内容图文
![mac、mac m1 打包asp.net core成docker](/upload/InfoBanner/zyjiaocheng/607/e910f1fee07d400ea01d353d96b540b2.jpg)
在Mac m1上我用的是Rider写.net core项目,参照windows 上的VS2019上的Dockerfile另写一份配置记录一下
1.新建一个WebAPI的项目RTest
2.新建一个Dockerfile
# asp.net5 是我自己制作的一个镜像,用官方的也可以 mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim
FROM asp.net5 AS base
MAINTAINER zzz
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
WORKDIR /src
RUN mkdir -p /app/build
COPY RTest.csproj RTest/
RUN dotnet restore "RTest/RTest.csproj"
COPY . RTest/
WORKDIR "/src/RTest"
RUN dotnet build "RTest.csproj" -c Release -o /app/build
FROM build AS publish
RUN mkdir -p /app/publish && dotnet publish "RTest.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "RTest.dll"]
3.build Dockerfile
docker build -t rtest .
4.run docker
docker run -p 9090:80 --name rtest -d rtest
可以在Docker Desktop 看到服务已经起来了
5.在浏览器中输入http://localhost:9090/WeatherForecast
6.注意事项
如果直接拿Visual Studio 上的Dockerfile来改的话,如果不注意路径的配置,有可能会出现:
error CS5001: Program does not contain a static 'Main' method suitable for an entry point [xxx.csproj]
这个错误
因为visual studio执行Dockerfile的方式是:
docker build -f Dockerfile ..
注意,后面是两个点,也就是在Dockerfile目录的上一层目录执行,所以Copy . .
会把代码复制到错误的位置,导致编译的时候找不到cs文件,所以也找不到Main方法了
内容总结
以上是互联网集市为您收集整理的mac、mac m1 打包asp.net core成docker全部内容,希望文章能够帮你解决mac、mac m1 打包asp.net core成docker所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。