在 CentOS 上无法安装 Docker 时,可以按照以下步骤排查和解决问题:
bash
cat /etc/centos-release
uname -r # 内核需 ≥ 3.10
如果之前安装过 Docker 或冲突软件,先彻底卸载:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
删除残留文件:
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker
bash
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
bash
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
bash
sudo yum makecache fast
bash
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
No package docker-ce available
:
/etc/yum.repos.d/
下的 .repo
文件)。bash
yum list docker-ce --showduplicates | sort -r # 列出可用版本
sudo yum install -y docker-ce-<VERSION_STRING> # 替换为具体版本
sudo systemctl start docker
sudo systemctl enable docker
bash
sudo docker run hello-world
bash
sudo yum update kernel
reboot
bash
sudo setenforce 0
/etc/selinux/config
并设置 SELINUX=disabled
)。bash
sudo firewall-cmd --permanent --add-port=2375/tcp
sudo firewall-cmd --reload
bash
mkdir -p /etc/systemd/system/docker.service.d
echo '[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080"' > /etc/systemd/system/docker.service.d/proxy.conf
systemctl daemon-reload
systemctl restart docker
如果仍无法解决,可以尝试:
- 使用 Podman(无需守护进程):
bash
sudo yum install -y podman
- 手动安装二进制包:
从 Docker 官网 下载并解压。
通过以上步骤,绝大多数 CentOS 上的 Docker 安装问题均可解决。如果遇到特定错误,请提供详细日志进一步分析。