一步一步实现 .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 swaggersimpledocker: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
一步一步实现 .NET 8 部署到 Docker的更多相关文章
- 一步一步学ROP之linux_x86篇
一步一步学ROP之linux_x86篇 作者:蒸米@阿里聚安全 一.序 ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过 ...
- 一步一步了解Cocos2dx 3.0 正式版本开发环境搭建(Win32/Android)
cocos2d-x 3.0发布有一段时间了,作为一个初学者,我一直觉得cocos2d-x很坑.每个比较大的版本变动,都会有不一样的项目创建方式,每次的跨度都挺大…… 但是凭心而论,3.0RC版本开始 ...
- 跟我一步一步开发自己的Openfire插件
http://www.blogjava.net/hoojo/archive/2013/03/07/396146.html 跟我一步一步开发自己的Openfire插件 这篇是简单插件开发,下篇聊天记录插 ...
- 一步一步学习SignalR进行实时通信_9_托管在非Web应用程序
原文:一步一步学习SignalR进行实时通信_9_托管在非Web应用程序 一步一步学习SignalR进行实时通信\_9_托管在非Web应用程序 一步一步学习SignalR进行实时通信_9_托管在非We ...
- 一步一步学习SignalR进行实时通信_4_Hub
原文:一步一步学习SignalR进行实时通信_4_Hub 一步一步学习SignalR进行实时通信\_4_Hub SignalR 一步一步学习SignalR进行实时通信_4_Hub 前言 创建Hub 配 ...
- 一步一步学习SignalR进行实时通信_3_通过CORS解决跨域
原文:一步一步学习SignalR进行实时通信_3_通过CORS解决跨域 一步一步学习SignalR进行实时通信\_3_通过CORS解决跨域 SignalR 一步一步学习SignalR进行实时通信_3_ ...
- 一步一步理解 python web 框架,才不会从入门到放弃 -- 开始使用 Django
背景知识 要使用 Django,首先必须先安装 Django. 下图是 Django 官网的版本支持,我们可以看到上面有一个 LTS 存在.什么是 LTS 呢?LTS ,long-term suppo ...
- jumpservice一步一步安装
一步一步安装 (CentOS) 本文档旨在帮助用户了解各组件之间的关系, 生产环境部署建议参考 进阶安装文档 云服务器快速部署参考 极速安装 安装过程中遇到问题可参考 安装过程中常见的问题 测试推荐环 ...
- WCF 一步一步 发布 WCF服务 到 IIS (图)
WCF 一步一步 发布 WCF服务 到 IIS (图) 使用VS自带的WCFSVCHost(WCF服务主机)发布WCF服务,时刻开发人员测试使用. 下面我们来看一下如何在IIS中部发布一个WCF服务. ...
- 一步一步学习IdentityServer3 (2)
下面就来做一个例子:IdentityServer3服务端的配置 VS2015创建一个MVC项目 IdrOAuth 用来授权的认证的站点
随机推荐
- Android---TextView基础属性 + 跑马灯的三种方式
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_wid ...
- jenkins 钉钉机器人插件
官方文档: https://jenkinsci.github.io/dingtalk-plugin/guide/getting-started.html#%E6%B3%A8%E6%84%8F 注意:系 ...
- iview viewDesign table 单选 Radio
columns.js export default [ { title: '选择', slot: 'choose', align: 'center', width: 100 }, table里面 &l ...
- 写了一个 dict.cn 的油猴脚本,目的是通过url进行搜索。这样就能配合wox进行单词的搜索了。
写了一个 dict.cn 的油猴脚本,目的是通过url进行搜索.这样就能配合wox进行单词的搜索了. // ==UserScript== // @name dict.cn // @namespace ...
- k8s标签的增删改查和选择器
在 Kubernetes(K8s)中,标签(Label)是与资源对象相关联的键值对,用于实现多维度的资源分组管理功能.下面是关于 Kubernetes 标签的增删改查操作的简要说明: 查询标签 (查) ...
- javascript import maps 特性现已被全部主流浏览器支持
值得庆祝 Import maps 特性现在可以在全部三个主要浏览器内使用 现在主流现代web 应用 引入和利用javascript 是通过 Es module 模块实现. 在开发javascript上 ...
- KTL 最新版
K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL Core ...
- Django_文件下载
一.小文件下载 1.视图 views.py 三种方式实现,任选其一 (1)使用HttpResponse # 导入模块from django.shortcuts import HttpResponse ...
- [mysql/docker] 基于Docker安装MYSQL
0 序 虽然关于 mysql 安装的教程,先前已写过很多期了(参见如下列表),但这期的安装教程所依赖的环境还是大有不同的----基于 docker 环境. [数据库] MySQL之数据库备份与升级:M ...
- 天天用defineEmits宏函数,竟然不知道编译后是vue2的选项式API?
前言 我们每天都在使用 defineEmits 宏函数,但是你知道defineEmits 宏函数经过编译后其实就是vue2的选项式API吗?通过回答下面两个问题,我将逐步为你揭秘defineEmits ...