Docker守护程序在更新后无法启动

时间:2018-08-23 20:20:44

标签: docker centos

昨晚,我的docker守护进程已更新至版本18.09.0-ce-tp0,内部版本4bb0619,从那时起它无法启动。我以前运行docker时没有任何问题。 操作系统:CentOS Linux版本7.5.1804(核心) 错误:

Aug 23 20:14:56 my-server-name polkitd[388]: Registered Authentication Agent for unix-process:6198:531754 (system bus name :1.45 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/Po
Aug 23 20:14:56 my-server-name polkitd[388]: Unregistered Authentication Agent for unix-process:6198:531754 (system bus name :1.45, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UT
Aug 23 20:15:02 my-server-name polkitd[388]: Registered Authentication Agent for unix-process:6210:532352 (system bus name :1.46 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/Po
Aug 23 20:15:09 my-server-name containerd-offline-installer[6120]: failed to dial "/run/containerd/containerd.sock": context deadline exceeded
Aug 23 20:15:09 my-server-name systemd[1]: docker.service: control process exited, code=exited status=1
Aug 23 20:15:09 my-server-name systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.service has failed.
-- 
-- The result is failed.
Aug 23 20:15:09 my-server-name systemd[1]: Unit docker.service entered failed state.
Aug 23 20:15:09 my-server-name systemd[1]: docker.service failed.
Aug 23 20:15:09 my-server-name polkitd[388]: Unregistered Authentication Agent for unix-process:6210:532352 (system bus name :1.46, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UT
Aug 23 20:15:10 my-server-name systemd[1]: docker.service holdoff time over, scheduling restart.
Aug 23 20:15:10 my-server-name systemd[1]: Starting Docker Application Container Engine...
-- Subject: Unit docker.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.service has begun starting up.

为了清楚起见,我从systemctl start docker(或docker.service)开始,例如docker ps返回无法通过unix:///var/run/docker.sock连接到Docker守护程序。 docker守护程序正在运行吗?

有任何线索吗?

3 个答案:

答案 0 :(得分:3)

通过将docker从版本 18.06.1-ce更新,构建e68fc7a 到版本 18.09.0〜ce〜0.4.tp4-0〜ubuntu ,我遇到了同样的问题。 我的解决方法是:

1)删除 docker-ce

sudo apt-get remove docker-ce

2)删除依赖包:

sudo apt-get autoremove

3)检查是否删除了docker(应参阅找不到docker命令):

docker -v

4)安装较低版本的docker:

sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu

5)检查docker服务是否正在运行:

sudo service docker status

对我有用。希望以上解决方案能对您有所帮助。

答案 1 :(得分:1)

我遇到了同样的问题。我发现的唯一解决方法是杀死容器服务并重新启动dockerd。

编辑: 我解决了我的问题,它似乎来自docker-ce-test和启用了docker-ce-edge

root@dkr:~# yum list docker-ce --showduplicates | sort -r
 * updates: ftp.pasteur.fr
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror
Installed Packages
 * extras: ftp.pasteur.fr
 * epel: ftp.plusline.net
docker-ce.x86_64         2:18.09.0.ce-0.4.tp4.el7               docker-ce-test
docker-ce.x86_64         2:18.09.0.ce-0.4.tp4.el7               @docker-ce-test
docker-ce.x86_64         2:18.09.0.ce-0.3.tp3.el7               docker-ce-test
docker-ce.x86_64         2:18.09.0.ce-0.0.tp0.el7               docker-ce-test
docker-ce.x86_64         18.06.1.ce-3.el7                       docker-ce-test
docker-ce.x86_64         18.06.1.ce-3.el7                       docker-ce-stable
docker-ce.x86_64         18.06.1.ce-3.el7                       docker-ce-edge
docker-ce.x86_64         18.06.1.ce-2.2.rc2.el7                 docker-ce-test
docker-ce.x86_64         18.06.1.ce-2.1.rc1.el7                 docker-ce-test
docker-ce.x86_64         18.06.0.ce-3.el7                       docker-ce-test
docker-ce.x86_64         18.06.0.ce-3.el7                       docker-ce-stable
docker-ce.x86_64         18.06.0.ce-3.el7                       docker-ce-edge
docker-ce.x86_64         18.06.0.ce-2.3.rc3.el7                 docker-ce-test
...

我删除了所有不稳定版本:

sudo yum-config-manager --disable docker-ce-edge
sudo yum-config-manager --disable docker-ce-test

我删除并重新安装了docker-ce(我不确定是否需要):

yum remove docker-ce docker-ce-cli ; yum install docker-ce docker-ce-cli

现在我只安装了稳定版本,并且一切都像以前一样正常:

root@dkr:~# yum list docker-ce --showduplicates | sort -r
 * updates: ftp.pasteur.fr
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror
Installed Packages
 * extras: ftp.pasteur.fr
 * epel: mirror.speedpartner.de
docker-ce.x86_64            18.06.1.ce-3.el7                   docker-ce-stable
docker-ce.x86_64            18.06.1.ce-3.el7                   @docker-ce-stable
docker-ce.x86_64            18.06.0.ce-3.el7                   docker-ce-stable
docker-ce.x86_64            18.03.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            18.03.0.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.12.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.12.0.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.09.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.09.0.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.06.2.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.06.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.06.0.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.2.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable

答案 2 :(得分:0)

Fedora 28的解决方案以及我为解决此问题而采取的步骤。

正如@Alain回答的那样,docker-ce-test和docker-ce-edge enabled是此问题的根本原因。由于显示了许多安装(如果已启用),因此在安装阶段可能会意外安装错误的版本。

要解决:

首先,我们将其从配置管理器中删除

sudo dnf config-manager --set-disabled docker-ce-edge
sudo dnf config-manager --set-disabled docker-ce-test

然后删除您已有的docker安装

sudo dnf remove docker-ce docker-ce-cli 要么 sudo dnf remove docker-ce docker-ce-<version>

从稳定的版本中安装所需的版本

dnf list docker-ce --showduplicates | sort -r

Last metadata expiration check: 1:20:05 ago on Thu 29 Nov 2018 04:55:30 PM.
Installed Packages
docker-ce.x86_64               3:18.09.0-3.fc28                docker-ce-stable 
docker-ce.x86_64               18.06.1.ce-3.fc28               docker-ce-stable 
docker-ce.x86_64               18.06.1.ce-3.fc28               @docker-ce-stable
docker-ce.x86_64               18.06.1.ce-3.fc28               @docker-ce-stable
docker-ce.x86_64               18.06.0.ce-3.fc28               docker-ce-stable 
docker-ce.x86_64               18.03.1.ce-3.fc28               docker-ce-stable 

我们不会像以前那样安装docker-ce-cli,因为如果您尝试在其上安装一个版本,它将在交易检查期间发生冲突。

例如

sudo dnf install docker-ce-18.06.1.ce

现在一切正常!