当在CentOS 7上重装Docker后遇到无法启动的问题,可以按照以下步骤排查和解决:
sudo systemctl status docker
查看错误信息,通常会给出具体原因。
sudo journalctl -xe -u docker
或
sudo cat /var/log/messages | grep docker
症状: 报错包含storage-driver
或graph-driver
相关错误
解决方案:
# 清理旧的Docker数据
sudo rm -rf /var/lib/docker
# 重新启动
sudo systemctl start docker
解决方案:
# 临时关闭SELinux
sudo setenforce 0
# 永久关闭(可选)
sudo sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 防火墙设置
sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0
sudo firewall-cmd --permanent --zone=trusted --add-port=4243/tcp
sudo systemctl restart firewalld
解决方案:
# 完全卸载旧版本
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
# 重新安装
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker
sudo docker run hello-world
如果上述方法无效,可以尝试:
检查内核版本:
uname -r
CentOS 7需要3.10或更高内核版本
手动启动Docker守护进程:
sudo dockerd --debug
这将显示更详细的启动日志
检查cgroups配置:
sudo dmesg | grep -i cgroup
检查设备映射器:
sudo lsmod | grep dm_mod
如果问题仍然存在,请根据具体的错误信息进一步排查或提供错误日志以便更精准的解决方案。