.Net5发布到Docker中
.Net5 Dockerfile
#基于 microsoft/dotnet:5.0.0-core 来构建我们的镜像
FROM mcr.microsoft.com/dotnet/sdk:5.0
#创建 /publish 文件夹
WORKDIR /publish
#创建挂载目录,用于将程序部署在服务器本地
VOLUME /publish
#设置Docker容器对外暴露5000端口
EXPOSE 5000
#使用dotnet dev.dll来运行应用程序
CMD ["dotnet", "mesApi.dll"]
构建镜像
#使用当前文件夹下的dockerfile构建名叫 mesapi 的镜像。mesapi指镜像名,.指当前路径
docker build -t mesapi .
运行容器
#创建一个名叫 mesapi_con 的容器。5000端口映射到容器。/root/dotnet/mesapi/app为本地目录,
#需要提前建好,且将.net5发布后的应用程序放到这个目录。/publish为在dockerfile创建的目录
#mesapi为上一步创建的镜像。
docker run -it --name mesapi_con -p 5000:5000-v /root/dotnet/mesapi/app:/publish -d mesapi
运行程序及更新程序
- 运行程序:
上一步的docker run… 命令运行之后,就可以访问api程序了。
示例:http://【ip】/swagger/index.html - 更新程序:
直接替换/root/dotnet/mesapi/app中的程序,即可达到替换的目的
备注
- 创建Dockerfile文件命令
mkdir Dockerfile - 查看镜像
docker images - 查看所有容器
docker ps -a - 查看正在运行容器
docker ps - 重启容器
sudo docker restart [容器ID]