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)未开放阿里云中的端口,导致访问失败

posted on 2025-05-12 08:36  江渔湖  阅读(148)  评论(0)    收藏  举报