在 CentOS 上解决 Docker 冲突的实用步骤
一、常见冲突类型与快速判断
二、标准处理流程
sudo yum remove -y docker docker-common docker-selinux docker-enginesudo yum remove -y docker-ce docker-ce-cli containerd.io(若已部分安装新版)sudo yum remove -y docker docker-iorpm -q podman 若已安装,执行 sudo yum remove -y podman(必要时连同 buildah 一并移除:sudo yum erase podman buildah)sudo yum install -y yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/7/x86_64/stablesudo yum-config-manager --add-repo https://download.docker.com/linux/centos/8/x86_64/stablesudo yum clean all && sudo yum makecache fastsudo dnf install -y docker-ce docker-ce-cli containerd.io--skip-broken(不建议生产环境)sudo systemctl start dockersudo systemctl enable dockerdocker version、docker info 输出正常即完成安装。三、典型场景与命令示例
sudo yum remove -y docker docker-io docker-engine docker-commonsudo yum remove -y docker-ce docker-ce-clisudo yum install -y docker-ce docker-ce-cli containerd.iorpm -q podman 确认存在后,sudo yum remove -y podman(如需连同构建工具:sudo yum erase podman buildah)四、网络与端口冲突排查
ss -tulpen | grep <端口> 或 netstat -tulpen | grep <端口> 查找占用进程,停止或调整服务端口后重启容器。docker network ls、docker inspect <network_name>docker stop <container_name>;必要时重建网络或调整子网避免重叠。sudo setenforce 0 验证是否为 SELinux 导致,再按需在 /etc/selinux/config 中调整策略并重启。五、注意事项与回退方案
/var/lib/docker(重装或清理将影响镜像、容器与卷)。--nobest 放宽选择策略完成安装。yum list docker-ce --showduplicates | sort -r,再按需安装)。