本文简要说一下ASP.NET Core 在Docker中部署以及docker-compose的使用 (ASP.NET Core 系列目录)。 系统环境为CentOS 8 。 打个广告,求职中。。
一、概述简单说一下Docker的几个概念:
记得上学的时候流行一种安装操作系统的方式,叫GHOST,大概是这样的:
进入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
更新 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安装即可。
搜索远程存储库中的镜像,例如MongoDB的镜像