Docker命令挂起但没有响应

时间:2017-01-06 15:09:51

标签: linux amazon-web-services docker

Docker守护程序运行正常,但是当我执行docker imagesdocker ps等时,docker会无限期挂起而没有输出。这种情况昨晚没有发生,这让我疯狂。

我在我的AWS Linux AMI上重新安装了docker而没有运气。我也试过了sudo service docker restart,并没有解决问题。如果有人遇到这个或有任何建议请分享。

实例信息:

NAME="Amazon Linux AMI"
VERSION="2016.09"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2016.09"
PRETTY_NAME="Amazon Linux AMI 2016.09"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2016.09:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
Amazon Linux AMI release 2016.09

Docker版本:

Docker version 1.11.2, build b9f10c9/1.11.2

提前谢谢!

3 个答案:

答案 0 :(得分:9)

我知道这个问题有点旧,但为了解决这个问题,请尝试删除以下内容:

/var/run/docker/libcontainerd

答案 1 :(得分:2)

https://forums.docker.com/t/what-to-do-when-all-docker-commands-hang/28103/4 通过korayhk:

您不需要重新安装或删除容器映像数据。只需在下面做:

先停止服务

sudo service docker stop

清理上述文件中有关Sam的文件。

sudo rm -rf /var/run/docker
sudo rm /var/run/docker.*"

立即开始服务

sudo service docker start

启动您的Docker映像

docker start <container-name>

在第一次尝试运行docker run时会收到错误消息:

来自守护程序的错误响应:无效的头字段值“ oci运行时错误:具有ID的容器存在:7a244b8f5d07081538042ff64aebfe11fac1a36731526e77be53db7d94dca44d \ n” 错误:无法启动容器:

尝试再次运行docker start命令。您将神奇地启动并运行容器,而不会发生任何错误。

答案 2 :(得分:1)

将我的 ubuntu 更新为 5.8.0-34-generic 后。我有类似的问题。经过各种尝试解决后,我的最终解决方案是将 docker 降级到以前的工作版本。步骤如下:

  1. 杀死码头工人
<块引用>
root@LT01:~# killall dockerd
root@LT01:~# ps -aux | grep dockerd
root@LT01:~# kill -9 your docker pid
  1. 删除 docker ce、cli 和 container.io
<块引用>
root@LT01:/home/xyz# apt remove docker-ce docker-ce-cli containerd.io
  1. 可选步骤:我的 dockerd 不断重启,所以我不得不禁用 ir。如果你也这样做。您需要在新安装后启用它:
<块引用>
systemctl disable docker
  1. 检查以前的版本:
<块引用>
root@LT01:/home/xyz# apt-cache madison docker-ce
  1. 从上面的列表中安装旧版本,在我的例子中,docker-ce 5:19.03.13~3-0~ubuntu-focal
<块引用>
root@LT01:/home/xyz# apt install docker-ce=5:19.03.13~3-0~ubuntu-focal
  1. 可选:如果您还需要降级 containerd.io 和 cli,则:
<块引用>
apt install docker-ce=5:19.03.13~3-0~ubuntu-focal containerd.io=1.3.9-1 docker-ce-cli=5:19.03.13~3-0~ubuntu-focal
  1. 检查您的安装:
<块引用>
whereis docker

systemctl status docker

另外,在 apt upgrade 命令上将我的 docker 标记为不升级。