记一次使用snap 安装dive后,docker镜像和容器都看不到

背景原理:

Ubuntu系统,docker是用apt安装的,安装dive时apt没有包,选择使用snap安装,但snap会重新安装docker环境,覆盖旧的docker环境,导致看不到旧环境下的镜像和容器

1.先校验旧环境下的资源是否还在

复制代码
docker info | grep "Docker Root Dir"
ls /var/lib/docker/image/overlay2/imagedb/content/sha256/ | head

注:可以看到镜像和容器都还在,只是系统默认的docker环境变了,导致命令查不到

2.停止并卸载现有的docker环境

复制代码
systemctl stop docker.service
systemctl stop docker.socket
snap remove docker

3. 修改系统默认的docker环境

复制代码
vim /lib/systemd/system/docker.service

# 找到 ExecStart ,改为
ExecStart=/usr/bin/dockerd --data-root /var/lib/docker -H fd:// --containerd=/run/containerd/containerd.sock

注:关键是加上 --data-root /var/lib/docker 这个参数

4.重新加载并启动docker

复制代码
systemctl daemon-reload
systemctl start docker.socket
systemctl start docker.service

注:可以看到重新可以查到旧环境的docker镜像

5. 强烈建议

复制代码
# 卸载现有的dive,去GitHub下载
snap remove dive --purge

注:

  1. GitHub下载dive地址:https://github.com/wagoodman/dive/releases/tag/v0.13.1
  2. dive和docker保持同一个安装方式,如果docker是用snap下载的,dive也使用snap下载,如果docker是使用apt下载的,dive通过github下载
相关推荐
新时代牛马41 分钟前
Linux 信号处理完整篇:从sigaction、掩码到内核发送与可重入排障
linux·运维·信号处理
lpfasd1231 小时前
Docker存储清理与防膨胀实践
运维·docker·容器
每天被AI救一次1 小时前
WorkBuddy 会议自动化实战:从腾讯会议转写到待办系统的完整链路(附全套提示词)
运维·自动化·腾讯会议
程序员梅雨1 小时前
Linux & Shell 实用干货
linux·运维·服务器·后端·面试·php
吴声子夜歌1 小时前
编写Shell脚本——自顶向下设计
linux·运维·shell
XR1234567881 小时前
医院无线整网高密覆盖选型深度解析
运维·网络
新时代牛马1 小时前
嵌入式 Linux 蓝牙框架完整篇:从 HCI、L2CAP 到BlueZ 用户态
linux·运维·服务器
weixin_444579302 小时前
Docker(下):镜像仓库管理
运维·docker·容器
资讯第一线2 小时前
斐讯R1免登录配网》 [APP] [安卓版] 下载
运维
ONLYOFFICE2 小时前
ONLYOFFICE成为Linux操作系统 – Winux的预装办公套件
linux·运维·服务器