记一次使用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下载
相关推荐
网硕互联的小客服12 小时前
Linux服务器磁盘应该如何合理分区?
linux·运维·服务器
楚识科技12 小时前
合同比对全流程自动化:OCR识别+差异比对+法律风险字段抽取实战指南
运维·自动化·ocr
代码方舟13 小时前
零信任架构实战:基于天远人企关联构建自动化供应链金融网关
运维·人工智能·架构·自动化
贵沫末14 小时前
Ubuntu——常用软件安装
linux·运维·ubuntu
Doraemomo14 小时前
Linux内核驱动开发——中断与定时器
linux·运维·驱动开发
2301_8084143814 小时前
Linux中动静态库的理解
linux·运维·服务器
誰能久伴不乏14 小时前
保姆级 Docker 入门教程
docker·容器·eureka
分布式存储与RustFS15 小时前
模型 checkpoint 放对象存储:分片上传、断点续传与残留清理
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
一条破秋裤16 小时前
Linux 线程创建:pthread_create 与基本回收
java·linux·运维
FED_AF18 小时前
Linux运维“邪修”功法之通配符
linux·运维