如何卸载docker引擎?

我已经安装了docker

curl -sSL https://get.docker.com/ | sh 

当我试图卸载软件包时,我正面临着以下错误

 $ sudo apt-get remove docker-engine Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: docker-engine 0 upgraded, 0 newly installed, 1 to remove and 5 not upgraded. 1 not fully installed or removed. After this operation, 28.5 MB disk space will be freed. Do you want to continue? [Y/n] Y (Reading database ... 454135 files and directories currently installed.) Removing docker-engine (1.8.2-0~vivid) ... Failed to stop docker.service: Unit docker.service not loaded. invoke-rc.d: initscript docker, action "stop" failed. dpkg: error processing package docker-engine (--remove): subprocess installed pre-removal script returned error exit status 5 dpkg: error while cleaning up: subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: docker-engine E: Sub-process /usr/bin/dpkg returned an error code (1) 

我该如何卸载docker软件包?

我正在使用Ubuntu 15.04。

尝试一下

 sudo mv /var/lib/dpkg/info/{packagename}.* /tmp/ sudo dpkg --remove --force-remove-reinstreq {packagename} sudo apt-get remove {packagename} sudo apt-get autoremove && sudo apt-get autoclean 

我有同样的问题,但在Ubuntu 14.04。 我解决这个问题的方法是:

首先删除不好的链接:

 sudo mv /var/lib/dpkg/info/{packagename}.* /tmp/ sudo apt-get remove {packagename} 

所以现在你可以再次安装它:

 sudo apt-get install docker-engine 

就这样。

看起来不像Docker特定的问题,而是像一般的安装问题。

docker工人曾经在那台机器上工作过(例如:安装成功了吗?)

我会开始寻找Failed to stop docker.service: Unit docker.service not loaded ,看看是否导致了什么是错误的更多的见解。 似乎无法停止服务。

您可能需要阅读一些关于systemd的信息,我推荐此页面。 journalctl也可能有帮助,请看这里 。

接着:

  • docker.service是否存在?
  • 它可以被加载?
  • 它的状态是什么?
  • 它是什么意思,如果你开始呢?
  • 停下来?

ps:不是全自动安装脚本的忠实粉丝。 我没有看到apt-get install docker-engine有什么问题…

如果您想删除 Docker Toolbox( 包括Docker Engine )的所有内容。

你可以执行这个shell脚本:

 #!/bin/bash # Uninstall Script if [ "${USER}" != "root" ]; then echo "$0 must be run as root!" exit 2 fi while true; do read -p "Remove all Docker Machine VMs? (Y/N): " yn case $yn in [Yy]* ) docker-machine rm -f $(docker-machine ls -q); break;; [Nn]* ) break;; * ) echo "Please answer yes or no."; exit 1;; esac done echo "Removing Applications..." rm -rf /Applications/Docker echo "Removing docker binaries..." rm -f /usr/local/bin/docker rm -f /usr/local/bin/docker-machine rm -r /usr/local/bin/docker-machine-driver* rm -f /usr/local/bin/docker-compose echo "Removing boot2docker.iso" rm -rf /usr/local/share/boot2docker echo "All Done!" 

如果你仍然有折旧的Boot2docker ,你也想摆脱它。

您可以通过执行以下shell脚本来卸载它:

 #!/bin/bash # Uninstall Script if [ "$(which boot2docker)" == "" ]; then echo "boot2docker does not exist on your machine!" exit 1 fi if [ "${USER}" != "root" ]; then echo "$0 must be run as root!" exit 2 fi echo "Stopping boot2docker processes..." boot2docker stop && boot2docker delete echo "Removing boot2docker executable..." rm -f /usr/local/bin/boot2docker echo "Removing boot2docker ISO and socket files..." rm -rf ~/.boot2docker rm -rf /usr/local/share/boot2docker echo "Removing boot2docker SSH keys..." rm -f ~/.ssh/id_boot2docker* echo "Removing boot2docker OSX files..." rm -f /private/var/db/receipts/io.boot2docker.* rm -f /private/var/db/receipts/io.boot2dockeriso.* echo "Removing Docker executable..." rm -f /usr/local/bin/docker echo "All Done!"