1.删除之前旧版本

sudo yum remove -y docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.centos7已于2024.6.30停止服务,不再通过 mirrorlist 分发,必须使用 vault.centos.org,配置一个可靠的公共 DNS

sudo cat > /etc/resolv.conf << 'EOF'
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 114.114.114.114
EOF

3.替换 CentOS repo 源为 Vault 归档源

        3.1备份旧 repo 文件

sudo mkdir -p /etc/yum.repos.d/bak
sudo mv /etc/yum.repos.d/CentOS-*.repo /etc/yum.repos.d/bak/

        3.2 创建新的 repo 文件(使用 vault 源)

cat << 'EOF' | sudo tee /etc/yum.repos.d/CentOS-Vault.repo
[base]
name=CentOS-7.9.2009 - Base
baseurl=http://vault.centos.org/7.9.2009/os/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
metadata_expire=never

[updates]
name=CentOS-7.9.2009 - Updates
baseurl=http://vault.centos.org/7.9.2009/updates/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
metadata_expire=never

[extras]
name=CentOS-7.9.2009 - Extras
baseurl=http://vault.centos.org/7.9.2009/extras/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
metadata_expire=never

[centosplus]
name=CentOS-7.9.2009 - Plus
baseurl=http://vault.centos.org/7.9.2009/centosplus/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0
metadata_expire=never
EOF

        3.3清理缓存并重建,这可能需要几分钟,但应该不会再报 mirrorlist 错误

sudo yum clean all
sudo yum makecache

4.现在可以安装依赖工具

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

5. 添加 Docker 官方仓库(使用阿里仓库)

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6.查看可用的 Docker 版本(可选)

yum list docker-ce --showduplicates | sort -r

7.安装指定版本

sudo yum install -y docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io

8.启动并设置开机自启

sudo systemctl start docker
sudo systemctl enable docker

9.验证 Docker 版本

docker --version

# 示例输出:Docker version 19.03.15, build 99e3ed8919

10.(可选)将当前用户加入 docker 组,避免每次用 sudo

sudo usermod -aG docker $USER
# 然后重新登录 shell 或执行:
newgrp docker

至此就完成在CentOS7上的docker安装

更多推荐