4:项目的部署:
首先在进行部署前我建议大家先看认真看一边官方有关Docker的网络配置
https://docs.docker.com/network/
一个新的项目如果不对项目的IP或端口进行任何改变的话 部署成功后默认监听的是80 端口,如下图所示:
如果你不进行改变的话也就是说这个项目部署是就使用80端口了,在创建容器的时候重新指定的端口就访问不通了。
所以我首先改动了项目中的项目运行时监听的端口在项目文件Program添加代码如下:
.UseKestrel().UseUrls("http://*:8091") // 在所有网络接口上监听端口 8091
改好后进行发布:发布完成后上传到服务器Dockerfire 文件所在的目录中
对Dockerfire 进行修改
# 表示当前创建的镜像所依赖的基础镜像 FROM microsoft/dotnet:2.1-sdk # 表示当前容器的工作目录 将要运行的web程序放在容器中的那个目录下,没有会自动创建 WORKDIR /app # 设置对外暴露的端口,不设置默认为 80 EXPOSE 8091 # 表示会把当前目录下的Web程序文件 拷贝到 容器的 /app 文件下, COPY . . # 将要执行的命令 CMD ["dotnet", "lenovo.core.ESDDB.WebApi.dll"]