ASP.NET Core: 二十八. 在Docker中的部署以及docker-compose的使用(一)

简介: 本文简要说一下ASP.NET Core 在Docker中部署以及docker-compose的使用。 系统环境为CentOS 8 。

一、概述

简单说一下Docker的几个概念:

记得上学的时候流行一种安装操作系统的方式,叫GHOST,大概是这样的:

17.png

进入PE系统打开GHOST软件,点击“local”,然后选择“Partition”,最后选择“From Image”,选择一个.gho后缀文件,就开始系统安装了。


安装好系统之后,根据自己的需求又安装了一些常用软件,然后为了避免下次重装系统还要安装这些,可以将现在状态的系统再次用GHOST备份一下,生成一个.gho后缀的镜像文件,这个镜像又可以用来安装系统。


一个.gho文件可以用来为多台电脑安装系统,每个被安装好的系统又可以被备份成一个.gho文件文件。


而类比Docker,有这样几个概念:


Image(镜像):有点像.gho后缀的镜像文件。

Container(容器):就像用.gho安装成功的一个操作系统。

Repository(仓库):存放镜像的仓库,像Git一样可以有公有的仓库也可以有私有的。微软的仓库地址为:

但实际上Docker不是一个操作系统,也不像一个虚拟机一样,它是要共享宿主的内核的。


而且一般建议一个容器只跑一个进程,不像操作系统那样可以多进程运行。(虽然也可以通过一些方法在一个Docker容器中跑多个应用,但不建议这样做。)


二、安装docker

    说明:安装CentOS 8 选择了最小安装,此处就不说了,下面说一下Docker的安装过程。


安装一些必要的系统工具:

 sudo yum install -y yum-utils device-mapper-persistent-data lvm2


添加软件源信息:

 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


更新 yum 缓存:

 sudo yum makecache fast


安装 Docker-ce:

 sudo yum -y install docker-ce


启动 Docker 后台服务

 sudo systemctl start docker



 注意:安装Docker-ce的时候可能报错:package docker-ce …… requires containerd.io >= 1.2.2-3, but none of the providers can be installed

                 是因为containerd.io版本过低,可去下面网站查看新版本:


                https://download.docker.com/linux/centos/7/x86_64/edge/Packages


下载:

 wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm


安装:

 yum -y install containerd.io-1.2.6-3.3.el7.x86_64.rpm

 再次执行sudo yum -y install docker-ce安装即可。


三、Docker的几个常见命令

搜索远程存储库中的镜像,例如MongoDB的镜像

docker search mongo

18.png

拉取仓库中的镜像

docker pull  mongo

 列出本地镜像。

docker images

可以看到本地镜像中包了mongo镜像。

  • 运行镜像生成一个容器
docker run --name mongotodocker -p 27088:27017 -d mongo

含义: 用镜像mongo运行生成一个容器,名字为mongotodocker ,将容器内的端口27017映射到主机的27088端口。-p 指的是端口映射。 -d是说后台运行容器,并返回容器ID;

  • 列出所有容器
docker ps -a 

可以看到刚运行起来的容器。

  • 停止容器
docker stop mongotodocker

删除容器

docker rm mongotodocker
  • 删除镜像
docker rmi mongo

具体每个命令都有一些参数可用,这里只是简单介绍一下使用方法。具体的文档网上很多,不一一说明了。

目录
相关文章
|
5天前
|
存储 Cloud Native 文件存储
云原生之使用Docker部署home-page个人导航页
【5月更文挑战第4天】云原生之使用Docker部署home-page个人导航页
19 1
|
12天前
|
关系型数据库 MySQL Shell
4.Docker 应用部署
4.Docker 应用部署
|
1天前
|
Cloud Native 测试技术 数据安全/隐私保护
云原生之使用Docker部署Teedy轻量级文档管理系统
【5月更文挑战第8天】云原生之使用Docker部署Teedy轻量级文档管理系统
11 1
|
2天前
|
Cloud Native 测试技术 Linux
云原生之使用Docker部署homer静态主页
【5月更文挑战第7天】云原生之使用Docker部署homer静态主页
9 0
|
3天前
|
监控 Cloud Native 测试技术
云原生之使用Docker部署ServerBee服务器监控工具
【5月更文挑战第6天】云原生之使用Docker部署ServerBee服务器监控工具
12 1
|
3天前
|
前端开发 应用服务中间件 nginx
前后端分离项目Docker部署指南(下)
前后端分离项目Docker部署指南(下)
|
3天前
|
NoSQL 关系型数据库 网络安全
前后端分离项目Docker部署指南(上)
前后端分离项目Docker部署指南(上)
|
4天前
|
开发框架 安全 网络安全
【Docker 专栏】Docker 多平台应用构建与部署
【5月更文挑战第8天】Docker作为一种关键的容器化技术,简化了多平台应用的构建与部署。它提供一致的运行环境,确保应用在不同平台无缝运行;通过分层构建机制加速镜像创建,提升开发效率。Docker的可移植性、高效部署及资源利用率是其主要优势。流程包括开发环境准备、构建镜像、测试验证及部署。然而,面临操作系统差异、网络安全和资源限制等挑战,需注意安全、版本管理和性能优化。Docker在多平台场景的应用将持续发挥价值。
【Docker 专栏】Docker 多平台应用构建与部署
|
4天前
|
存储 关系型数据库 Linux
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
27 4
|
4天前
|
数据可视化 Linux Docker
如何使用Docker部署Dashy并无公网ip远程访问管理界面
如何使用Docker部署Dashy并无公网ip远程访问管理界面
5 0