Docker组件
- containerd.io - 守护进程与 OS API 接口,实质上将 Docker 与操作系统分离,也为非 Docker 容器管理器提供容器服务
- Docker-ce - Docker的守护进程, 这是执行所有管理工作的部分, 需要在 Linux 上提供另外两个组件。
- Docker-ce-cli - 用于控制守护进程的 CLI 工具,如果您想要控制远程 Docker 守护程序,可以自行安装它们。
卸载旧版本
#rpm -qa | grep docker \\查看已经安装的docker
#yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装
添加库
#yum install -y yum-utils
#yum-config-manager \
--add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装缺省版本
#yum install docker-ce docker-ce-cli containerd.io \安装最新版本的Docker 引擎和容器。
如果提示接受 GPG 密钥,请验证指纹是否匹配,如果匹配,请接受它。060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
不指定版本,默认安装最新稳定版。使用下面命令查看库中的所有版本
#yum list docker-ce --showduplicates
上次元数据过期检查:0:07:59 前,执行于 2020年06月29日 星期一 10时16分59秒。
可安装的软件包
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable
...
docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable
...
docker-ce.x86_64 3:19.03.10-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.11-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.12-3.el7 docker-ce-stable
直接安装指定版本
Centos8亲测必须指定版本安装,否则会有各种版本不兼容问题问题。
#yum install https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.4-3.1.el7.x86_64.rpm
#yum install https://download.docker.com/linux/centos/7/x86_64/edge/Packages/docker-ce-19.03.9-3.el7.x86_64.rpm
docker-ce-cli会被作为docker-ce的依赖一并安装,如果未安装请手动安装:
#yum install https://download.docker.com/linux/centos/7/x86_64/edge/Packages/docker-ce-cli-19.03.12-3.el7.x86_64.rpm
验证
#systemctl start docker \\启动docker
#docker version \\查看版本号,如下:
Client: Docker Engine - Community
Version: 19.03.12
API version: 1.40
Go version: go1.13.10
Git commit: 48a66213fe
Built: Mon Jun 22 15:46:54 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.9
API version: 1.40 (minimum version 1.12)
Go version: go1.13.10
Git commit: 9d988398e7
Built: Fri May 15 00:24:05 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.4
GitCommit: e6b3f5632f50dbc4e9cb6288d911bf4f5e95b18e
runc:
Version: 1.0.0-rc6+dev
GitCommit: 6635b4f0c6af3810594d2770f662f34ddc15b40d
docker-init:
Version: 0.18.0
GitCommit: fec3683
Q&A常见问题
模块问题
问题 1: conflicting requests
- nothing provides module(perl:5.26) needed by module perl-DBD-MySQL:4.046:8010020191114030811:073fa5fe-0.x86_64
问题 2: conflicting requests - nothing provides module(perl:5.26) needed by module perl-DBI:1.641:8010020191113222731:16b3ab4d-0.x86_64
No match for argument: docker
解决方法
#yum module enable perl:5.26
文件冲突
Transaction test error:
file /usr/bin/docker from install of docker-ce-18.06.3.ce-3.el7.x86_64 conflicts with file from package docker-ce-cli-1:19.03.12-3.el7.x86_64
...
解决方法:版本冲突,请在2^docker-repo寻找合适的版本