清理Docker相关组件后仍能查询到Docker版本,求助解决
问题分析与解决办法
这问题我之前折腾Docker的时候也碰到过!你执行的apt清理命令没完全覆盖所有可能的Docker安装方式,而且还有残留的二进制文件没删掉,所以docker -v还能输出版本。
为什么会出现这种情况?
主要有两个常见原因:
- 你可能是通过二进制文件手动安装的Docker,而不是通过apt仓库安装的——这种情况下,apt的purge命令根本管不到这些直接放在系统路径里的二进制文件。
- 你用的包名不对!现在Docker的官方包名已经不是
docker-engine了,常见的是docker-ce、docker.io、docker-cli这些,你之前的purge命令漏掉了这些包,导致还有残留的包文件。
解决步骤
先找到Docker命令的实际位置
运行下面的命令,看看docker二进制文件存在哪里:which docker # 或者更全面的: whereis docker输出大概是
/usr/bin/docker或者/usr/local/bin/docker,还会列出关联的其他文件比如docker-containerd、docker-compose等。删除残留的二进制文件
根据上面找到的路径,用sudo删除所有相关文件,比如:sudo rm -rf /usr/bin/docker /usr/bin/docker-containerd /usr/bin/docker-compose # 把whereis输出里的所有docker相关路径都删掉清理所有残留的Docker包
重新列出所有和Docker相关的包,然后全部purge:dpkg -l | grep -i docker # 假设输出里有docker-ce、docker.io这些,就执行: sudo apt-get purge --auto-remove docker-ce docker.io docker-cli docker-compose-plugin注意把输出里的所有包名都加进去,确保彻底清理。
检查是否还有Snap安装的Docker
如果你的系统用了Snap,也可能是通过Snap安装的Docker,这时候apt命令清理不了,得用:sudo snap remove docker验证清理结果
最后再运行docker -v,如果提示command not found,就说明清理干净了,之后可以重新安装Docker了。
内容的提问来源于stack exchange,提问作者KubiRoazhon
相关产品推荐
相关产品推荐

