You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何彻底从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-clicontainerd.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

火山引擎 最新活动