.NET(CORE)程序手动部署到Docker

  •  创建Web API项目

 

目标框架:选择.NET 5.0和.NET CORE 3.1 都可以

启用Docker:打上勾,自动生成Dockerfile文件,用于构建docker镜像文件

 

 

项目创建完成,会弹出一个是否安装 Docker Desptop,选择否即可。(我这里没有弹出来,以前点过)

接下来创建一个API控制器(空),里面添加两个API

 

 项目启动默认是Docker,改成DockerDemo

 

启动项目,测试一下项目是否有问题,和创建的API是否成功 

 

 

GetCurrentDate和PostServerIP测试没问题

 

 移动Dockerfile

 

 原因在于这个Dockerfile指定的目录是基于上一层

  

  •  将代码上传到仓库(github或gitee)

在gitee上面创建一个项目

 

 

按照这些命令把代码上传到gitee

 

代码上传完成

 

  • 下载代码到服务器

  • 生成镜像文件

在Dockerfile目录下执行 docker build -f Dockerfile -t webapi .   

-f 后面是构建镜像的文件名

-t 后面是将要构建的镜像名称

一路闪电带火花,当遇到以下的输出后,就表示生成成功了

Successfully built e9fc34d47a8a

Successfully tagged webapi:latest

 也可以通过 docker images 命令查看

 

 启动镜像

 执行命令 docker run -d --name webapi01 -p 60001:80 webapi

通过 docker ps 命令查看容器是否启动成功,和容器的一些其它信息

[root@VM-8-2-centos docker-demo]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
515a35a4ffd3 webapi "dotnet DockerDemo.d…" About a minute ago Up About a minute 443/tcp, 0.0.0.0:60001->80/tcp, :::60001->80/tcp webapi01

 

在Linux服务器本机使用curl请求部署的api

 

远程chrome访问

1. 在防火墙添加60001端口白名单或者关闭防火墙

2. 如果是云服务,那么需要在云服务中添加端口白名单 

 

Postman也请求成功了

posted @ 2021-11-01 16:08  煮酒。  阅读(303)  评论(0)    收藏  举报