一、前言

本文仅针对操作系统为 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

一步一步实现 .NET 8 部署到 Docker的更多相关文章

  1. 一步一步学ROP之linux_x86篇

    一步一步学ROP之linux_x86篇 作者:蒸米@阿里聚安全 ​ 一.序 ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过 ...

  2. 一步一步了解Cocos2dx 3.0 正式版本开发环境搭建(Win32/Android)

    cocos2d-x 3.0发布有一段时间了,作为一个初学者,我一直觉得cocos2d-x很坑.每个比较大的版本变动,都会有不一样的项目创建方式,每次的跨度都挺大…… 但是凭心而论,3.0RC版本开始 ...

  3. 跟我一步一步开发自己的Openfire插件

    http://www.blogjava.net/hoojo/archive/2013/03/07/396146.html 跟我一步一步开发自己的Openfire插件 这篇是简单插件开发,下篇聊天记录插 ...

  4. 一步一步学习SignalR进行实时通信_9_托管在非Web应用程序

    原文:一步一步学习SignalR进行实时通信_9_托管在非Web应用程序 一步一步学习SignalR进行实时通信\_9_托管在非Web应用程序 一步一步学习SignalR进行实时通信_9_托管在非We ...

  5. 一步一步学习SignalR进行实时通信_4_Hub

    原文:一步一步学习SignalR进行实时通信_4_Hub 一步一步学习SignalR进行实时通信\_4_Hub SignalR 一步一步学习SignalR进行实时通信_4_Hub 前言 创建Hub 配 ...

  6. 一步一步学习SignalR进行实时通信_3_通过CORS解决跨域

    原文:一步一步学习SignalR进行实时通信_3_通过CORS解决跨域 一步一步学习SignalR进行实时通信\_3_通过CORS解决跨域 SignalR 一步一步学习SignalR进行实时通信_3_ ...

  7. 一步一步理解 python web 框架,才不会从入门到放弃 -- 开始使用 Django

    背景知识 要使用 Django,首先必须先安装 Django. 下图是 Django 官网的版本支持,我们可以看到上面有一个 LTS 存在.什么是 LTS 呢?LTS ,long-term suppo ...

  8. jumpservice一步一步安装

    一步一步安装 (CentOS) 本文档旨在帮助用户了解各组件之间的关系, 生产环境部署建议参考 进阶安装文档 云服务器快速部署参考 极速安装 安装过程中遇到问题可参考 安装过程中常见的问题 测试推荐环 ...

  9. WCF 一步一步 发布 WCF服务 到 IIS (图)

    WCF 一步一步 发布 WCF服务 到 IIS (图) 使用VS自带的WCFSVCHost(WCF服务主机)发布WCF服务,时刻开发人员测试使用. 下面我们来看一下如何在IIS中部发布一个WCF服务. ...

  10. 一步一步学习IdentityServer3 (2)

    下面就来做一个例子:IdentityServer3服务端的配置 VS2015创建一个MVC项目 IdrOAuth 用来授权的认证的站点

随机推荐

  1. 专访实在智能孙林君:颠覆传统RPA的实在IPA模式如何做到真正人人可用?

      王吉伟对话实在智能孙林君:颠覆传统引领RPA行业的实在IPA模式是如何炼成的? 王吉伟对话实在智能孙林君:为什么第一款颠覆行业的RPA诞生在实在智能? 专访实在智能孙林君:打造出真正人人可用的实在 ...

  2. STM32F103xC,xD,xE引脚定义

    STM32F103xC,xD,xE引脚定义 由于在使用STM32系列芯片过程中发现互联网没有整理好的引脚定义,因此自己整理一份,方便以后查阅. GPIOA Pin 重新上电时的功能 默认功能 重映射 ...

  3. vscode 自定义 当前行转大写快捷键 alt + shift + U

    vscode 自定义 当前行转大写快捷键 alt + shift + U

  4. LosslessCut 视频 切割合并 - 软件推荐 - 非常好用

    LosslessCut 视频切割合并 - 软件推荐 - 非常好用 下载地址 https://n802.com/f/14902046-490311155-557856 参考文章 http://www.r ...

  5. RGB、HSV、HSL和CMYK颜色空间

    目录 简介 RGB(红绿蓝)颜色空间 HSV(色调.饱和度.亮度)颜色空间 HSL(色调.饱和度.亮度)颜色空间 CMYK(青.品红.黄.黑)颜色空间 简介 这四种颜色空间在不同的应用领域有不同的用途 ...

  6. 2.4G无线音频一对多传输解决方案难点解析

    前记     2.4G无线音频传输是一个非主流的应用,做这个的人 相对要比较少.但是,这个领域所涉及到的知识却不少,也就导致了这个领域是好入门,但是东西想做好特别难.这里涉及到声学,无线协议,电子,设 ...

  7. 蓝牙BLE无线控制氛围灯解决方案之特色解析

    谁的方案?   前几天和一个小伙伴讨论方案公司的价值,他给出定位还是比较准确地,作为一家方案公司,就是让产品公司,低成本,快速的推出具有市场竞争力的产品.凭借着本团队在无线蓝牙领域的深耕,这些年也做了 ...

  8. FAT32 文件系统详解

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  9. Python 查找PDF中的指定文本并高亮显示

    在处理大量PDF文档时,有时我们需要快速找到特定的文本信息.本文将提供以下三个Python示例来帮助你在PDF文件中快速查找并高亮指定的文本. 查找并高亮PDF中所有的指定文本 查找并高亮PDF某个区 ...

  10. 恶意软件开发(三)经典DLL注入流程

    什么是dll注入? DLL注入允许将外部DLL文件加载到进程中并运行其中的代码.DLL(动态链接库)是一种可重用的代码库,它包含在多个程序中使用的函数.类.变量和其他程序代码.DLL注入技术可以通过将 ...