首页 > 解决方案 > 无法在 WSL 上从 Ubuntu 卸载 Docker

问题描述

我正在尝试卸载 Docker,但总是收到错误消息。我已经在互联网上搜索但没有成功修复错误。我的印象是有一些损坏的软件包,但总的来说我对 Linux 很陌生。这是结果:

sudo apt-get purge -y docker-ce 
                                                                                                                                                 1 ↵ Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  docker-ce*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 181 MB disk space will be freed.
(Reading database ... 44147 files and directories currently installed.)
Removing docker-ce (18.03.1~ce-0~ubuntu) ...
invoke-rc.d: could not determine current runlevel
 * Stopping Docker: docker                                                                                                                                                                                      start-stop-daemon: warning: failed to kill 466: No such process
No process in pidfile '/var/run/docker-ssd.pid' found running; none killed.
invoke-rc.d: initscript docker, action "stop" failed.
dpkg: error processing package docker-ce (--purge):
 subprocess installed pre-removal script returned error exit status 1
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 docker-ce
E: Sub-process /usr/bin/dpkg returned an error code (1)

我希望任何人都可以帮助我。:)

标签: dockerubuntu-16.04windows-subsystem-for-linux

解决方案


我在尝试从 WSL 中删除 docker.io 时遇到了同样的错误,这显然是预装的。问题是预删除脚本失败,因为 docker 从未运行过,因此无法停止。

在我的情况下,我 sudo 编辑了 /var/lib/dpkg/info/docker.io.prerm 并用(它只是返回成功)替换/sbin/stop docker(失败)。true之后, apt remove docker.io 完美运行。

(我在这里找到了解决方案,这是 2013 年的一个老问题:docker can't be uninstalled if it never working (Ubuntu)


推荐阅读