一步一步实现 .NET 8 部署到 Docker

一、前言

本文仅针对操作系统为 CentOS 8 的环境下部署方法进行讲述。如有需要,后续将在其他文章中进行其他系统下的部署方式讲解。

二、准备工作

  1. 确保服务器已安装 docker。
    可以通过命令 docker -v 进行检查,如出现下图结果则表示已安装。
  2. 代码准备
    • 在代码项目名称上右键,依次选择 添加 - Docker 支持...,弹出容器基架选项界面,如下图:

    • 目标 OS 选择 Linux容器生成类型 选择 Dockerfile,点击 确定按钮

    • 此时项目中会增加一个名为 Dockerfile 的配置文件。

      内容大致如下:

    • 打开项目 目录 PropertieslaunchSettings.json 文件

      将会看到新增的如下内容:

    • 需要注意的是Dockerfile文件中的 EXPOSE 后方的端口需要与 Properties\launchSettings.json 文件中的 ASPNETCORE_HTTP_PORTS 指定端端口一致,该端口在部署到 docker 后,将作为容器端口使用。

三、上传项目源码到服务器

上传代码到服务器的方式有很多,下面仅列举手动上传和从 git 克隆代码。

  • 手动上传文件
    利用工具 WinSCP 工具连接服务器后,上传文件。
  • 从 git 克隆代码
    进入服务器相关目录下,利用 git 命令 git clone [url] 进行代码克隆到服务器。

四、开始部署

  1. Dockerfile 文件移动到父级目录中。

  2. 打开命令行窗口 ,利用 cd [路径] 进入代码文件所在目录。

  3. 输入命令 ls 查看目录下文件,如下所示能看到 Dockerfile 文件

  4. 创建镜像

    命令:docker build -t 镜像名称:版本号 .

    参数:** -t 或 --tag **:用于指定镜像的名称和标签

    示例:docker build -t swaggersimpledocker:1.0 .

    等待操作完成后,可通过命令 docker images 查看 docker 中已存在的镜像

  5. 创建容器

    命令:docker run --name=容器名称 -p主机(宿主)端口:容器端口 -d 镜像名称:1.0

    参数:--name :容器名称;-p :指定端口映射,格式为:主机(宿主)端口:容器端口;-d :后台运行容器,并返回容器ID

    示例:docker run --name=swaggersimple -p 8080:8080 -d swaggersimple:1.0

  6. 查看容器信息

    输入命令: docker ps -a ,可查看如下结果:

    说明:状态(STATUS) 为 Up 则表示容器状态为 运行中Exited 表示 已停止

  7. 检查接口是否可以正常访问

    输入命令:curl http://192.168.16.128:8080/api/Test/appinfo查看是否存在返回结果。

结束语

docker 容器部署已作为当前主流部署方式,欢迎大家一起交流学习。 QQ:2289480980

相关推荐
丶21363 分钟前
【Nginx】在 Docker 上安装 Nginx 的详细指南
运维·nginx·docker
m0_741768857 小时前
使用docker的小例子
运维·docker·容器
最新小梦10 小时前
Docker日志管理
运维·docker·容器
ZHOU西口11 小时前
微服务实战系列之玩转Docker(十五)
nginx·docker·微服务·云原生·swarm·docker swarm·dockerui
lgbisha12 小时前
828华为云征文|华为云Flexus X实例docker部署最新Appsmith社区版,搭建自己的低代码平台
低代码·docker·华为云
记得开心一点嘛12 小时前
在Linux系统上使用Docker部署javaweb项目
linux·运维·docker
Persistence is gold14 小时前
cassandra指定配置文件的docker启动方法
运维·docker·容器
C语言扫地僧15 小时前
Docker 镜像制作(Dockerfile)
linux·服务器·docker·容器
ken_coding19 小时前
Windows11 WSL2的ubuntu 22.04中拉取镜像报错
linux·ubuntu·docker
自律的kkk21 小时前
docker配置镜像加速器
运维·docker·容器