从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。这里使用社区版。
- Docker官网地址:https://www.docker.com
- Docker软件镜像查询地址:https://hub.docker.com/
- 国内镜像站
- Centos7上安装Docker
如果使用超级管理员登录,不需要在命令前加sudo
移除已安装的docker(若没有则跳过此步骤)
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
开始安装
- 安装必要的一些系统工具
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
- 更新并安装 Docker-CE
sudo yum -y install docker-ce
- 查看安装版本
docker version
- 开启Docker服务
sudo service docker start
安装中遇到的 containerd.io
版本过低的问题
执行sudo yum -y install docker-ce
安装docker命令时出错,提示:containerd.io版本过低。具体如下:
Error:
Problem: package docker-ce-3:19.03.5-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 excluded
- package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.el7.x86_64 is excluded
- package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
-
单独安装 containerd.io
yum -y install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
之后重新执行sudo yum -y install docker-ce
安装docker
安装时出现下面的错误
Error: transaction check vs depsolve:
rpmlib(PayloadIsZstd) <= 5.4.18-1 is needed by containerd.io-1.2.10-3.2.fc31.x86_64
To diagnose the problem, try running: 'rpm -Va --nofiles --nodigest'.
You probably have corrupted RPMDB, running 'rpm --rebuilddb' might fix the issue.
这个是一般是版本依赖冲突,或者版本过高的问题,换为1.2.6-3.3版本即可。
顺便提一句:CentOS Linux即将停止维护更新;CentOS 7将在2024年6月停止维护更新;CentOS 8将在2021年12月停止维护更新,虽然还有但是大家还是要提前做好备案哦。毕竟新的CentOS Stream是一个滚动发布的bate版本(对于公司使用来说不可能经常升级服务器系统吧)还是挺有风险的。