docker官网地址:
https://docs.docker.com/engine/install/centos/
一:先卸载旧版本docker
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
二:安装环境依赖
使用存储库进行安装,在新主机上首次安装Docker引擎之前,需要设置Docker储存库。然后,您可以从存储库安装和更新Docker。
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
三:安装docker
$ sudo yum install docker-ce docker-ce-cli containerd.io
如果此处报如下异常:
Error:
Problem: package docker-ce-3:19.03.12-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
-cannot install the best candidate for the job
-package containerd.io-1.2.10-3.2.el7.x86_64 is filtered out by modular filtering
-package containerd.io-1.2.13-3.1.el7.x86_64 is filtered out by modular filtering
-package containerd.io-1.2.13-3.2.el7.x86_64 is filtered out by modular filtering
-package containerd.io-1.2.2-3.3.el7.x86_64 is filtered out by modular filtering
-package containerd.io-1.2.2-3.el7.x86_64 is filtered out by modular filtering
-package containerd.io-1.2.4-3.1.el7.x86_64 is filtered out by modular filtering
-package containerd.io-1.2.5-3.1.el7.x86_64 is filtered out by modular filtering
-package containerd.io-1.2.6-3.3.el7.x86_64 is filtered out by modular filtering
(try to add ‘–skip-broken’ to skip uninstallable packages or ‘–nobest’ to use not only best candidate packages)
原因是:centos8的yum库中没有符合最新版docker-ce对应版本的containerd.io,docker-ce-3:19.03.11-3.el7.x86_64需要containerd.io >= 1.2.2-3
解决方法有3种:
可以先更新yum
yum update
1:通过阿里云镜像库安装符合最新docker-ce版本的containerd.io
yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm
2:安装指定版本的docker-ce跟containerd.io
$ yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
3:将centos8系统降到centos7,centos7系统库中有containerd.io高于1.2.2-3版本的包。
四:解决异常再次执行一下命令即可
yum install docker-ce docker-ce-cli containerd.io
安装成功效果图
五:启动和停止docker
# 后台启动docker
systemctl start docker
# 重启docker
systemctl restart docker
# 停止docker
systemctl stop docker
# 设置开机启动docker
systemctl enable docker