如何从 Windows 子系统中删除 docker?

如何从 Windows 子系统中删除 docker?

我尝试过了安装 Docker CE在 Windows Subsystem for Linux 中为 Ubuntu 开发了一个应用程序,但无法正常工作。我发现也许Docker 在 WSL 中无法运行,所以我现在正尝试将其删除。

我已成功从 apt 中删除 GPG 密钥和 Docker repo,但尝试删除 Docker 包时出现以下错误:

~ sudo apt-get --purge 删除 docker-ce
正在读取软件包列表...完成
构建依赖关系树
正在读取状态信息...完成
下列软件包将被删除:
  docker-ce*
0 个升级,0 个新安装,1 个删除,4 个未升级。
1 未完全安装或删除。
此操作后将释放85.4 MB的磁盘空间。
您想继续吗?[Y/n] Y
(正在读取数据库...当前安装了 36248 个文件和目录。)
正在删除 docker-ce (5:18.09.6~3-0~ubuntu-bionic) ...
invoke-rc.d:无法确定当前运行级别
 * 停止 Docker:docker start-stop-daemon:警告:无法终止 4129:没有这样的进程
pid 文件‘/var/run/docker-ssd.pid’中未发现正在运行的进程;未终止任何进程。
invoke-rc.d: initscript docker,操作“停止”失败。
dpkg:处理软件包 docker-ce 时出错(--remove):
 已安装 docker-ce 包预删除脚本子进程返回错误退出状态 1
dpkg:清理时出错:
 已安装 docker-ce 包安装后脚本子进程返回错误退出状态 1
处理时遇到错误:
 docker-ce
E: 子进程 /usr/bin/dpkg 返回错误代码 (1)

答案1

不知何故,该/var/run/docker-ssd.pid文件标识了一个进程的进程 ID,该进程要么启动失败,要么在没有清理文件的情况下被终止。

不管怎样,删除这个文件就可以完成清理工作。

~ sudo rm /var/run/docker-ssd.pid

~ sudo apt-get --purge remove docker-ce
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 4 not upgraded.
1 not fully installed or removed.
After this operation, 85.4 MB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 36058 files and directories currently installed.)
Removing docker-ce (5:18.09.6~3-0~ubuntu-bionic) ...
invoke-rc.d: could not determine current runlevel
 * Docker already stopped - file /var/run/docker-ssd.pid not found.
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
(Reading database ... 36048 files and directories currently installed.)
Purging configuration files for docker-ce (5:18.09.6~3-0~ubuntu-bionic) ...
Processing triggers for ureadahead (0.100.0-21) ...
Processing triggers for systemd (237-3ubuntu10.21) …

~ docker
zsh: command not found: docker

有趣的是:事实上,也许问题并不出在 WSL 上。看起来其他人也遇到过类似的问题,并且能够解决它们。请参阅 Docker for Linux GitHub 问题 #52:Linux 子系统 for Windows 上的 apt 软件包修改失败

相关内容