AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1015711
Accepted
dimisjim
dimisjim
Asked: 2020-05-06 01:02:39 +0800 CST2020-05-06 01:02:39 +0800 CST 2020-05-06 01:02:39 +0800 CST

Docker-ce 突然坏了 - 无法重新安装,挂在 systemd 服务启用

  • 772

我知道我的问题可能过于笼统,但请稍等片刻:

我使用 ubuntu 18.04 LTS,并已在现代 thinkpad 上安装(使用https://docs.docker.com/engine/install/ubuntu/docker-ce中描述的官方安装过程)。我的设置没什么好看的。

一两天前,我的系统在尝试关闭我的机器时挂起。然后,当我尝试使用 docker 时,守护进程没有响应,只是挂了。systemd 单元已加载,但尚未启动。我当时认为关机挂起是由于这个 docker 守护进程问题。

所以我尝试从系统中清除并重新安装 docker。 sudo apt-get purge docker-ce docker-ce-cli containerd.io 连这个命令都挂了。

所以我尝试通过以下方式手动解锁 dpkg:

sudo systemctl disable docker
pgrep -a apt
sudo kill -9 <apt process>
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

还删除了所有 docker 和 containerd 相关文件 + 禁用和删除了 systemd 单元:

sudo systemctl disable docker
sudo rm -rf /etc/docker
sudo rm -rf /run/containerd/containerd.sock
sudo rm -rf /usr/bin/dockerd
sudo rm -rf /lib/systemd/system/docker.service
sudo rm -rf /var/lib/docker-engine
sudo rm -rf /var/lib/docker
sudo rm -rf /var/run/docker/
sudo rm -rf /var/run/docker.pid
sudo rm -rf /var/run/docker.sock
sudo rm /etc/apt/sources.list.d/docker.list
sudo rm -rf /var/lib/containerd
sudo rm -rf /opt/containerd
sudo systemctl daemon-reload

并重新启动,然后我终于可以成功运行 purge 命令: sudo apt-get purge docker-ce docker-ce-cli containerd.io

然后,当我尝试重新安装 docker(再次使用官方文档方法,稳定通道)时,它在启用 systemd 服务时挂起:

...
Preparing to unpack .../5-docker-ce_5%3a19.03.8~3-0~ubuntu-bionic_amd64.deb ...
Unpacking docker-ce (5:19.03.8~3-0~ubuntu-bionic) ...
Setting up aufs-tools (1:4.9+20170918-1ubuntu1) ...
Setting up containerd.io (1.2.13-1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.
Setting up cgroupfs-mount (1.4) ...
Setting up docker-ce-cli (5:19.03.8~3-0~ubuntu-bionic) ...
Setting up pigz (2.4-1) ...
Setting up docker-ce (5:19.03.8~3-0~ubuntu-bionic) ...
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.

我需要暂停(ctrl+z),然后如上所述再次清理所有内容。

这也是安装卡住时 systemd 服务外观的屏幕截图:在此处输入图像描述

我也尝试过apt clean和/或apt autoclean然后重新启动并重试,但到目前为止没有任何效果,安装时它仍然挂起。

docker systemd
  • 1 1 个回答
  • 2584 Views

1 个回答

  • Voted
  1. Best Answer
    Simon Arons
    2020-05-06T05:56:52+08:002020-05-06T05:56:52+08:00

    我不确定您正在运行什么内核版本,但是我今天注意到了这个确切的问题,并注意到运行docker ps只是挂起计算机,并且像您一样,我无法在不终止进程并手动删除文件的情况下卸载或重新安装(尝试重新安装时)进度条甚至停止在 94% - 与您的屏幕截图完全相同)。

    我发现在所有出现此问题的服务器上,它们都运行内核5.3.0-52-generic(来自linux-virtual-hwe-18.04软件包)。

    linux-virtual通过使用内核 4.15.0.100.90安装软件包并使用该内核重新启动来降级内核后, docker 安装/卸载成功。

    我还尝试在同一台服务器上从https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.6.7/安装内核 5.6.7并成功重新安装 docker。所以,我的猜测是它与内核有关。我的解决方案只是安装一个较旧或较新的内核。

    • 3

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve