最近想玩一下报Core 3.1程序放在Dockfile里面一起来devops,查了一些资料大部分是这样写:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS base # 引用3.1镜像 WORKDIR /app # 设置工作目录,不用改,设就对了 EXPOSE 5000 # vs2019模块建立工程,默认5000端口 COPY . /app # 把你那些dll复制到工作目录,不用改,照抄就对了 ENTRYPOINT ["dotnet", "Core31.dll"] #相当于在cmd搞命令,手动启动.net core程序,注意修改dll名称即可
然后
1、docker build (创建镜像)
2、docker run(启动容器)
(这些命令就不多说了,百度一大堆的)
但是,我就是这样开启了躺坑之旅。。。
1、我在宿主机器,想看看程序是否启动成功,于是 curl -i "http://localhost:5000",然后一直是
Recv failure: Connection reset by peer
2、接着我就在baidu bing google浪费了N久;
3、然后想起了大神(颜圣杰)一篇资料,因为core2.2的时候,我实验过,在此再分享出来
(https://www.jianshu.com/p/23465dc86d3e)
4、最后就炼成这段Dockfile
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS base WORKDIR /app EXPOSE 5000 COPY . /app ENV ASPNETCORE_URLS http://*:5000 # 最重要的一句 ENTRYPOINT ["dotnet", "Core31.dll"]
最后的最后,共享几篇资料,帮助大家躺坑成功
https://www.cnblogs.com/chengtian/p/11832955.html
https://blog.csdn.net/weixin_35726962/article/details/103473060