1.选择要部署的项目--右键--Docker支持

会在在项目中生成一个DockerFile文件

2.发布程序:将目标运行时选择为linux-x64

3.发布后将生成的文件压缩成zip文件上传的Linux系统中,解压命令:unzip -o MyDockerApi.zip
4.在Linux系统中安装Docker
apt install docker.io
5.拉取.net core依赖镜像
docker pull mcr.microsoft.com/dotnet/core/aspnet:latest
6.在上传后的程序目录里添加docker文件

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster WORKDIR /app #程序发布路径 EXPOSE 5000 #端口号 COPY . . ENTRYPOINT ["dotnet", "MyDockerApi.dll"]
7.镜像打包
docker build -t web. 注意最后有一个.

8.创建基于该镜像的docker容器,并启动
命令:docker run --name web -p 8081:5000 web,参数解读:
--name xxxxx:容器名字
8081:将liunx端口分配给该容器的端口
:5000:将物理机端口映射到docker程序的启动端口
web:使用的镜像名称
到此步服务已经起来了,这时候,如果外部想要访问服务,需要在腾讯云防火墙新增出站端口8081
9.使用命令,列出当前所有容器,状态等等:
docker container ls -a
容器的启动/停止命令:
docker start web(容器名称/ID)
docker stop web(容器名称/ID)
10.代码更新重新发布
(1)将更新好的代码上传
(2)重新build镜像: docker build -t web.
(3)停止docker容器 :docker stop web(容器名称/ID)
(4)删除docker容器 docker rm web容器名称/ID
(5)重新创建容器并启动 docker run --name web -p 8081:5000 web
docker exec -it ID/容器名称 /bin/bash,进入容器终端。
docker logs web(容器ID/名称),查看该容器日志
11.发布中遇到的问题
(1)打不开查看日之后提示数据库连接错误
原因:LInux中Linux默认区分大小写,window默认不区分大小写,导致提示查不到需要的表
(2)未开放阿里云中的端口,导致访问失败
浙公网安备 33010602011771号