自动启动的 docker 返回空容器/图像,但杀死它会恢复正常

问题描述

我遇到了一个奇怪的问题。两者

docker image ls -a

docker container ls -a

返回空,但应该已经有几个容器和图像了。

我发现 docker 已经在运行,

$ ps -ef | grep docker
root      5724     1  0 Jun18 ?        00:00:18 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
weiya    21079 14786  0 15:11 pts/1    00:00:00 grep --color=auto docker

我试图用

杀死它
sudo kill -s 9 5724

然后我发现这个程序刚刚重新启动,

$ ps -ef | grep docker
root     21171     1  0 15:12 ?        00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
weiya    21205 14786  0 15:12 pts/1    00:00:00 grep --color=auto docker

但它恢复正常,因为 docker image/container ls 正确返回本地图像/容器。

每次都重启会很烦。我很好奇为什么它需要重新启动?谁能给点提示

我猜测这种奇怪的行为是否是由于自动启动。所以我试图通过

禁用docker的自动启动行为
$ sudo systemctl disable docker.service 
Removed /etc/systemd/system/multi-user.target.wants/docker.service.
$ sudo systemctl disable docker.socket 
Removed /etc/systemd/system/sockets.target.wants/docker.socket.

但是在下次启动时,我需要启动 docker 服务,因为它抛出了

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

我更喜欢自动启动docker,但我认为上面通过kill -s 9重启是不必要的,应该有一些问题,谁能给一些提示

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...