在线安装(最新版本)【推荐】
使用阿里云开源镜像
用dnf替代yum,dnf是新一代
shell
# step 0:删除旧版的 docker,防止干扰。
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# step 1:安装必要的一些系统工具
sudo dnf -y install dnf-plugins-core
# Step 2: 添加软件源信息
sudo dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 安装Docker
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Step 4: 开启Docker服务并开机启动
# 如果你不想让 Docker 自动启动,可以用 sudo systemctl start docker
sudo systemctl enable --now docker
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# dnf list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
安装指定版本参考示例
其中只有docker-ce和docker-ce-cli需要指定版本
powershell
sudo dnf install docker-ce-3:29.8.0-1.el9 docker-ce-cli-3:29.8.0-1.el9 containerd.io docker-buildx-plugin docker-compose-plugin
离线安装
下载rpm包
以Centos8.4系统为例,其它系统参考相应的路径

参考上面的在线安装需要的内容,下载对应的rpm包
docker-ce和docker-ce-cli版本要一致
shell
docker-ce
docker-ce-cli
containerd.io
docker-buildx-plugin
docker-compose-plugin
# 可能需要
iptables
例如:
docker-ce-26.1.3-1.el8.x86_64.rpm
docker-ce-cli-26.1.3-1.el8.x86_64.rpm
containerd.io是通过查询知道的,后面会讲
containerd.io-1.6.32-3.1.el8.x86_64.rpm
docker-buildx-plugin没有指定,建议下最新的
docker-buildx-plugin-0.14.0-1.el8.x86_64.rpm
docker-compose-plugin没有指定,建议下最新的
docker-compose-plugin-2.27.0-1.el8.x86_64.rpm
有些系统可能没有自带 iptables ,所以这个可能也要下载
获取ce和cli对应的其它依赖的版本
先把下载好的ce和cli上传到你的centos8服务器
shell
# 查看 docker-ce 需要什么
rpm -qpR docker-ce-*.rpm | grep -E 'containerd|docker-'
# 查看 docker-ce-cli 需要什么
rpm -qpR docker-ce-cli-*.rpm | grep -E 'containerd|docker-'
在你上传的rpm文件目录下执行
如下所示:

powershell
[root@root]# rpm -qpR docker-ce-*.rpm | grep -E 'containerd|docker-'
containerd.io >= 1.6.24
发现需要containerd.io >= 1.6.24
那我们就下载:containerd.io-1.6.32-3.1.el8.x86_64.rpm
安装
在下载的rpm目录下执行,例如:我把下载的文件全部都放到了/root/docker_rpm目录下,则:
powershell
sudo cd /root/docker_rpm
sudo dnf localinstall -y ./*.rpm
启动并验证
powershell
sudo systemctl start docker
sudo systemctl enable docker
sudo docker version