如何彻底从CentOS 7中卸载Docker?已尝试多种方法仍未解决
我明白你现在的困扰——明明执行了卸载命令,docker命令还能调用,这说明系统里还留着Docker的残留组件。咱们一步步来彻底清理干净:
彻底卸载CentOS 7中Docker的完整步骤
1. 先停止并禁用Docker相关服务
首先得确保Docker daemon和相关套接字服务都停掉,避免卸载时出现资源占用或者残留进程:
sudo systemctl stop docker sudo systemctl stop docker.socket sudo systemctl disable docker sudo systemctl disable docker.socket
2. 卸载所有Docker相关软件包
你之前只卸载了docker-ce,但Docker还有很多附属组件和依赖包,得一次性清理干净:
sudo yum remove -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
如果上面的命令没覆盖到所有残留包,可以先列出系统里所有带Docker标识的已安装包:
yum list installed | grep docker
找到所有输出结果里的包名,比如docker-ce-cli、containerd.io这类,用yum remove -y [包名]逐一卸载。
3. 删除所有残留的文件和目录
除了你已经删除的/var/lib/docker,还有很多其他关键残留目录需要清理:
sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd sudo rm -rf /etc/docker sudo rm -rf /run/docker.sock sudo rm -rf /usr/bin/docker sudo rm -rf /usr/bin/docker-compose sudo rm -rf /usr/lib/systemd/system/docker.service sudo rm -rf /usr/lib/systemd/system/docker.socket
这些目录包含了Docker的配置文件、套接字、二进制命令、系统服务配置等,全部删除才能彻底清除痕迹。
4. 清理缓存并刷新系统服务
最后清理yum缓存,重新加载系统服务配置,确保所有变更生效:
sudo yum clean all sudo systemctl daemon-reload
5. 验证卸载结果
现在执行docker ps或者docker --version,如果输出bash: docker: command not found,说明已经彻底清理干净了。如果还是能调用docker命令,那大概率是/usr/bin/docker这个二进制文件没删掉,手动执行sudo rm -f /usr/bin/docker即可。
内容的提问来源于stack exchange,提问作者Jacobian




