一、概述
简单说一下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 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
下载:
安装:
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
拉取仓库中的镜像
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
具体每个命令都有一些参数可用,这里只是简单介绍一下使用方法。具体的文档网上很多,不一一说明了。