如何完全卸载docker


57

我按照此处的卸载说明进行操作。然后我运行以下命令:

sudo apt-get purge docker-engine
sudo apt-get autoremove --purge docker-engine
rm -rf /var/lib/docker

因此,在完成所有这些操作之后,我运行了以下命令以查看docker文件是否在其他位置:

sudo find / -name '*docker*'

我发现了一些仍然存在docker文件的地方。

/etc
/sys
/lib
/usr
/usr
/run
/proc
/var

Docker在上面列表中的子文件夹中。如果您愿意,我可以发布所有路径。大约有200个地点。

有没有一种方法可以在各处完全完全删除docker?

Answers:


81

要完全卸载Docker:

第1步

dpkg -l | grep -i docker

要确定您拥有什么已安装的软件包:

第2步

sudo apt-get purge -y docker-engine docker docker.io docker-ce  
sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce  

上面的命令不会删除主机上的映像,容器,卷或用户创建的配置文件。如果要删除所有映像,容器和卷,请运行以下命令:

sudo rm -rf /var/lib/docker /etc/docker
sudo rm /etc/apparmor.d/docker
sudo groupdel docker
sudo rm -rf /var/run/docker.sock

您已从系统中完全删除Docker。


4
另外,我不得不删除/usr/local/bin/docker-compose
盖亚

9
我还记得删除了/etc/docker目录和所有内容
paulperry

3
之后,我会看到与Docker相关的条目$ sudo iptables -L
尤金

4
就我而言,我也必须使用sudo apt-get purge docker-ce-cli
irene

2
我还必须删除~/.docker目录
SBH

7

如果您使用的是Ubuntu,那么如果将docker与一起安装,我发现卸载docker要容易得多snap。您只需:

sudo snap remove docker

并删除所有相关文件,

sudo find / -name "*docker*" -exec `rm -rf` {} +

9
snap命令是不够好,但你删除您的系统上之前的一切打理docker的名字!
davidbak

1
您保存了我的MAAS框:)
David West

0

您可以使用像这样的命令来标识那些文件所源自的软件包dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null)。您不需要的任何此类软件包都可以使用删除sudo apt-get purge <package>。这样做时请小心,因为某些软件包包含对Docker的某些支持,但由于这个原因,您可能不想删除例如文本编辑器或文件管理器。

如果某些文件不是源自程序包(由“ dpkg-query:找不到与模式路径匹配的路径 ”表示),则可以单独删除它们。同样,请谨慎使用,因为可能有一些与您要删除的Docker无关的文件,其名称中仅包含字符串“ docker”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.