1、发布项目

2、在发布项目中生成 Dockfile 文件

  1. FROM swr.cn-south-1.myhuaweicloud.com/mcr/aspnet:3.1-alpine
  2. RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  3. RUN echo 'Asia/Shanghai' >/etc/timezone
  4. WORKDIR /app
  5. EXPOSE 3000
  6. COPY . .
  7. ENTRYPOINT ["dotnet", "project.dll","-b","0.0.0.0"]

3、上传发布文件至 centos7 /home/api 目录

4、试运行项目

  1. dotnet project.dll

若能正常启动,则项目无误

5、项目编译成镜像

  1. docker build -t api01 .

6、查看镜像

  1. docker images

7、启动容器

注意:
-p 后的端口映射
第一个端口是宿主机(服务器)的开放端口
第二个端口是容器内运行的端口,该端口
1、若通过 Program.cs 配置 UseUrl(“http://*:5432"),则如下所示

  1. docker run --name="test_api01" -p 3000:5432 -d api01

若未进行配置,端口则一直为 80

  1. docker run --name="test_api01" -p 3000:80 -d api01

8、内网测试访问

  1. curl http://localhost:3000

若无异常报错,则运行正常

9、外网测试访问

若无法访问,则需配置防火墙端口

步骤
1、开启防火墙
2、开放 3000 端口
3、立即生效

  • 云端环境

若是属于阿里云服务器,则需去阿里云控制台进行配置端口