Ubuntu22下使用docker ps 找不到正在运行的容器

2023-05-16  本文已影响0人  aq_wzj

0. 解决办法

卸载有风险, 请提前做好快照或备份

若容器是 apt 的启动的, 则卸载 snapdocker

snap remove docker

若容器是 snap 的启动的, 则卸载 aptdocker

apt autoremove docker

卸载完后重启服务器

reboot

两种判断方法:

  1. 查看当前的 docker 命令是 apt 的还是 snap 的, apt 的是看不到 snap 的容器的, 反之一样
  2. 检查容器相关的文件的路径, 如数据卷位置, 或者全局搜索容器名称, 若是在 /var/lib/docker/ 下则是 apt, 若在 /var/snap/docker/ 下则是 snap

1. 背景:

使用 apt 下载了 docker 且启动了一个 gitlab 容器, 当时是可以找到这个容器的. 后面过了一段时间之后找不到这个容器了, 但是这个容器的服务确实还在运行, 使用 ps 命令还是能找到的

2. 原因分析:

镜像自带了一个使用 snap 安装的 docker , 再次使用 apt 下载了 docker , 默认的 docker 命令变为 apt 下载的, 此时, 运行与查看镜像都没有问题

后来服务器重启过之后, docker 命令变为 snap 下载的了, 这时使用 docker ps 无法找到 aptdocker 启动的镜像

2.1 检查有几个 docker

使用 snap list 命令查看是否有 docker

202305171143486.png

使用 apt list --installed | grep 'docker' 命令 查看是否有 docker

202305171143745.png

由此可以判断已经安装了两个 docker , 所以存在着冲突

2.2 查看当前的 docker 命令是 apt 的还是 snap

使用命令 docker info |grep "Docker Root Dir" 查看

若输出为 Docker Root Dir: /var/snap/docker/common/var-lib-docker 则是 snap

202305171143225.png

若输出为 Docker Root Dir: /var/lib/docker 则是 apt

202305171143945.png
上一篇 下一篇

猜你喜欢

热点阅读