记一次使用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下载
相关推荐
千桐科技4 小时前
qModel算法模型平台功能解析:从源码到 Docker 镜像,部署能自动完成哪些工作?
运维·docker·容器·qmodel
刚入门的大一新生4 小时前
Linux-进程间通信1
linux·运维·服务器
天远Date Lab5 小时前
零信任架构实战:基于天远柠檬查维保构建自动化全国连锁二手车置换上架电子维保报告网关
运维·人工智能·架构·自动化
张宇Joaquin5 小时前
Linux系统下磁盘扇区512n、512e和4kn的区别
linux·运维·数据库
IDCPDU5 小时前
RS485 总线上的 PDU 总丢包:拓扑、终端电阻和地址冲突怎么查
运维
const_qiu6 小时前
第四章 07:4.7 本章小结
java·运维·服务器·人工智能
张宇Joaquin6 小时前
自研SP600系列网卡驱动跟麒麟V10 SP3 2403配套关系
linux·运维·网络
mengge.cloud6 小时前
1019Namespace ,Contexts ,Kubernetes Pod
运维·服务器·网络·云原生·容器·kubernetes·云计算
江湖有缘6 小时前
Docker实战 | 使用Docker部署Imagor Studio图片编辑工具
java·docker·eureka
Xxtaoaooo6 小时前
私人日记不想散落在多个App?我用DailyTxT把记录、搜索和图片都放进自己的NAS
docker·nas·dailytxt