大多数Docker命令永远不会结束,我不得不用CTRL+C手动中断它们,即使是像docker ps
或docker info
这样简单的命令也没有响应。
但是,docker help
和docker version
仍然有效。
我认为与特定容器之间存在类似死锁的情况,因此与容器相关的命令无法完成。
如何处理这种情况?
我的docker版本是1.12.3,我没有使用Swarm模式,docker logs
命令也不起作用,使用dmesg
我可以看到很多I/O错误,但我不知道是否与我的问题有关:
[12898.121287] loop: Write error at byte offset 8882749440, length 4096.
[12898.122837] loop: Write error at byte offset 8883666944, length 4096.
[12898.124685] loop: Write error at byte offset 8882814976, length 4096.
[12898.126459] loop: Write error at byte offset 8883404800, length 4096.
[12898.128201] loop: Write error at byte offset 8883470336, length 4096.
[12898.129921] loop: Write error at byte offset 8883535872, length 4096.
[12898.131774] loop: Write error at byte offset 8883601408, length 4096.
[12898.133594] loop: Write error at byte offset 8883732480, length 4096.
[12917.269786] loop: Write error at byte offset 8883798016, length 4096.
[12917.270331] quiet_error: 632 callbacks suppressed
[12917.270334] Buffer I/O error on device dm-6, logical block 1313320
[12917.270540] lost page write due to I/O error on dm-6
[12917.270543] Buffer I/O error on device dm-6, logical block 1313321
[12917.270740] lost page write due to I/O error on dm-6
[12917.270742] Buffer I/O error on device dm-6, logical block 1313322
[12917.270957] lost page write due to I/O error on dm-6
[12917.270959] Buffer I/O error on device dm-6, logical block 1313323
[12917.271177] lost page write due to I/O error on dm-6
[12917.271179] Buffer I/O error on device dm-6, logical block 1313324
[12917.271377] lost page write due to I/O error on dm-6
[12917.271379] Buffer I/O error on device dm-6, logical block 1313325
[12917.271573] lost page write due to I/O error on dm-6
[12917.301759] loop: Write error at byte offset 8883863552, length 4096.
[12917.312038] loop: Write error at byte offset 8883929088, length 4096.
[12917.312396] Buffer I/O error on device dm-6, logical block 1313328
[12917.312635] lost page write due to I/O error on dm-6
[12917.312638] Buffer I/O error on device dm-6, logical block 1313329
[12917.312867] lost page write due to I/O error on dm-6
[12917.312869] Buffer I/O error on device dm-6, logical block 1313330
[12917.313121] lost page write due to I/O error on dm-6
[12917.313123] Buffer I/O error on device dm-6, logical block 1313331
[12917.313346] lost page write due to I/O error on dm-6
[13090.853726] INFO: task kworker/u8:0:17212 blocked for more than 120 seconds.
[13090.854055] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
使用命令sudo systemctl status -l docker
,将打印以下消息,但我无法判断它们是否相关:
dockerd[1344]: time="2016-11-24T17:49:01.184874648+01:00" level=warning msg="libcontainerd: container c9f35af1836bf856001ca6156663f713c1217a697e8d2451927c67797fb5a770 restart canceled"
dockerd[1344]: time="2016-11-24T17:49:02.627116016+01:00" level=info msg="No non-localhost DNS nameservers are left in resolv.conf. Using default external servers : [nameserver 8.8.8.8 nameserver 8.8.4.4]"
dockerd[1344]: time="2016-11-24T17:49:02.627152661+01:00" level=info msg="IPv6 enabled; Adding default IPv6 external servers : [nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844]"
dockerd[1344]: time="2016-11-24T18:19:51.472701647+01:00" level=warning msg="libcontainerd: container c9f35af1836bf856001ca6156663f713c1217a697e8d2451927c67797fb5a770 restart canceled"
dockerd[1344]: time="2016-11-24T18:19:56.712126199+01:00" level=info msg="No non-localhost DNS nameservers are left in resolv.conf. Using default external servers : [nameserver 8.8.8.8 nameserver 8.8.4.4]"
dockerd[1344]: time="2016-11-24T18:19:56.712159759+01:00" level=info msg="IPv6 enabled; Adding default IPv6 external servers : [nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844]"
dockerd[1344]: time="2016-11-24T18:34:24.301786606+01:00" level=info msg="No non-localhost DNS nameservers are left in resolv.conf. Using default external servers : [nameserver 8.8.8.8 nameserver 8.8.4.4]"
dockerd[1344]: time="2016-11-24T18:34:24.302208751+01:00" level=info msg="IPv6 enabled; Adding default IPv6 external servers : [nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844]"
5条答案
按热度按时间iklwldmw1#
我也遇到了类似的问题。重新启动服务器对我来说不起作用。我遇到这个问题是因为我刚安装了一个新的容器,但出现了一些错误。在那之后,大多数Docker命令都没有响应。我通过执行以下命令修复了这个问题:
这将删除所有未使用的容器。在我的例子中,也删除了我刚刚添加的容器。更多信息:
https://docs.docker.com/engine/reference/commandline/system_prune/
niwlg2el2#
我遇到了同样的问题(命令没有响应),我通过增加分配给Docker的资源来修复它。
Docker桌面-〉首选项-〉高级
在我的例子中,我增加了:
根据您的机器尝试不同的值。
tyg4sfes3#
从你现在的症状来看,我似乎也在挣扎。我做了以下的事情,希望能有所帮助!
检查后,服务未成功响应,使用:
我使用了以下命令使其工作:
v1l68za44#
重新启动电脑对我很有效
ghhaqwfi5#
Docker命令挂起错误发生在我删除一个容器之后。
守护程序dockerd处于异常状态:在停止(
service docker stop
)后无法启动(sudo service docker start
)。此外,许多僵尸Docker进程可以使用
ps -eax | grep docker
(在“STAT”列中出现“Z”)观察到,例如停靠代理。重新启动服务器并重新启动Docker后,僵尸进程消失,Docker命令再次工作。