记一次使用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下载
相关推荐
瑞克-桑切斯2 小时前
docker mail商城
运维·docker·容器
java_logo3 小时前
Docker 部署 ReMe:轻松搭建 AI Agent 记忆管理平台
人工智能·docker·容器·ai agent·轩辕镜像·reme·agentscope-ai
AR-26710-3 小时前
Linux Day32——网络,ROCE-IB与以太网
linux·运维
不庸.3 小时前
WPScan 实战入门:从 Docker 靶场到弱密码爆破
运维·安全·web安全·docker·容器·安全性测试·wpscan
xbzb5 小时前
Docker 架构与部署:一条 docker run 到底走了三层
docker·容器·架构·镜像·加速·daemon
Decay__5 小时前
SQL Server 数据库全栈运维实战系列 — 合集索引(24 篇)
运维·数据库·sql·mysql·架构
Decay__14 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
java_logo16 小时前
Docker 部署 Dify:轻松搭建 LLM 应用开发平台
运维·docker·容器
方便面不加香菜17 小时前
Docker Container -- 综合实战案例详解
运维·docker·容器
海洋之恒18 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·自动化·github