一步一步实现 .NET 8 部署到 Docker
一、前言
本文仅针对操作系统为 CentOS 8 的环境下部署方法进行讲述。如有需要,后续将在其他文章中进行其他系统下的部署方式讲解。
二、准备工作
- 确保服务器已安装 docker。
可以通过命令docker -v
进行检查,如出现下图结果则表示已安装。
- 代码准备
-
在代码项目名称上右键,依次选择
添加 - Docker 支持...
,弹出容器基架选项
界面,如下图:
-
在 目标 OS 选择
Linux
, 容器生成类型 选择Dockerfile
,点击确定
按钮 -
此时项目中会增加一个名为
Dockerfile
的配置文件。
内容大致如下:
-
打开项目 目录
Properties
下launchSettings.json
文件
将会看到新增的如下内容:
-
需要注意的是
Dockerfile
文件中的EXPOSE
后方的端口需要与Properties\launchSettings.json
文件中的ASPNETCORE_HTTP_PORTS
指定端端口一致,该端口在部署到 docker 后,将作为容器端口使用。
-
三、上传项目源码到服务器
上传代码到服务器的方式有很多,下面仅列举手动上传和从 git 克隆代码。
- 手动上传文件
利用工具WinSCP
工具连接服务器后,上传文件。 - 从 git 克隆代码
进入服务器相关目录下,利用 git 命令git clone [url]
进行代码克隆到服务器。
四、开始部署
-
将
Dockerfile
文件移动到父级目录中。 -
打开命令行窗口,利用
cd [路径]
进入代码文件所在目录。 -
输入命令
ls
查看目录下文件,如下所示能看到 Dockerfile 文件
-
创建镜像
命令:docker build -t 镜像名称:版本号 .
参数:** -t 或 --tag **:用于指定镜像的名称和标签
示例:docker build -t swaggersimple:1.0 .
等待操作完成后,可通过命令 docker images 查看 docker 中已存在的镜像
-
创建容器
命令:docker run –name=容器名称 -p主机(宿主)端口:容器端口 -d 镜像名称:1.0
参数:--name:容器名称;-p:指定端口映射,格式为:主机(宿主)端口:容器端口;-d:后台运行容器,并返回容器ID
示例:docker run --name=swaggersimple -p 8080:8080 -d swaggersimple:1.0
-
查看容器信息
输入命令:docker ps -a
,可查看如下结果:
说明:状态(STATUS) 为Up
则表示容器状态为运行中
,Exited
表示已停止
。 -
检查接口是否可以正常访问
输入命令:curl http://192.168.16.128:8080/api/Test/appinfo
查看是否存在返回结果。
结束语
docker 容器部署已作为当前主流部署方式,欢迎大家一起交流学习。 QQ:2289480980