代码改变世界

天行健,君子以自强不息

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

摘要

Ubuntu 22.04,一堆容器正在运行,但是docker ps给出的结果是空的。本文简述如何解决问题。

结论

除了用apt install docker.io,还用snap安装了docker。用snap卸载了docker之后,重新启动Ubuntu,问题解决了。用docker ps列出了所有正在运行的容器。

解决步骤

用通义千问,先查看docker的日志,命令如下:

sudo journalctl -u docker.service

几年的日志啊,日志里面倒是显示,经常DNS解析有问题。
于是去认真检查Ubuntu的DNS解析设置,顺便认真确认了网卡的TCP/IP设置。

最终回到Google,用下述命令列出Ubuntu安装了多少名称有docker的服务,命令如下:

dpkg -l | grep docker

执行后的结果是:

ii  docker                                 1.5-2                                   all          transitional package
ii  docker-compose                         1.29.2-1                                all          define and run multi-container Docker applications with YAML
ii  docker.io                              24.0.7-0ubuntu2~22.04.1                 amd64        Linux container runtime
ii  python3-docker                         5.0.3-1                                 all          Python 3 wrapper to access docker.io's control socket
ii  python3-dockerpty                      0.4.1-2                                 all          Pseudo-tty handler for docker Python client (Python 3.x)
ii  wmdocker                               1.5-2                                   amd64        System tray for KDE3/GNOME2 docklet applications

貌似希望来了,又安装了docker,又安装了docker.io。
然后就卸载docker,很简单,成功。但是docker ps依然看不到容器列表。
又尝试apt remove wmdocker,但是这个wmdocker怎么都写在不掉。
重启Ubuntu之后,docker ps依然看不到容器列表。

继续Google,执行命令:

snap list

结果如下:

Name        Version        Rev    Tracking       Publisher   Notes
core20      20240911       2434   latest/stable  canonical✓  base
core22      20241001       1663   latest/stable  canonical✓  base
dive        0.12.0         20     latest/stable  gruyaume    -
docker      24.0.5         2932   latest/stable  canonical✓  -
dotnet-sdk  8.0.403        252    latest/stable  canonical✓  classic
lxd         5.0.3-80aeff7  29351  5.0/stable/…   canonical✓  -
snapd       2.63           21759  latest/stable  canonical✓  snapd

希望再次来临,竟然这里也安装了docker。
执行下边的命令:

snap remove docker

提示如下:

docker removed

这个时候重新启动docker服务,执行docker ps依然看不到容器列表。
但是reboot Ubuntu之后,用docker ps,看到了熟悉的容器列表。

后记

其实前前后后折腾了2个月,今天终于解决了,做个简单的记录。

posted on 2024-10-31 21:14  终南山人  阅读(26)  评论(0编辑  收藏  举报