查看 Docker 镜像详情的几种常用方法

查看 Docker 镜像详情的几种常用方法:

1. 查看镜像基本信息

bash 复制代码
# 查看所有镜像列表
docker images

# 详细格式查看
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.CreatedAt}}\t{{.Size}}"

# 按特定字段排序
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}" | sort

2. 查看镜像详细信息

bash 复制代码
# 查看镜像的完整详细信息
docker image inspect <镜像名或ID>

# 查看特定信息(JSON格式)
docker image inspect <镜像名> --format='{{json .}}'

# 提取特定字段
docker image inspect <镜像名> --format='{{.Id}}'
docker image inspect <镜像名> --format='{{.Created}}'
docker image inspect <镜像名> --format='{{.RepoTags}}'
docker image inspect <镜像名> --format='{{.Size}}'
docker image inspect <镜像名> --format='{{.Architecture}}'
docker image inspect <镜像名> --format='{{.Os}}'

3. 查看镜像分层历史

bash 复制代码
# 查看镜像的构建历史
docker history <镜像名>

# 显示完整信息(包括创建命令)
docker history --no-trunc <镜像名>

# 人类可读的格式
docker history --human=true <镜像名>

4. 查看镜像内容

bash 复制代码
# 查看镜像中的文件系统
docker run -it <镜像名> ls -la /

# 或者进入镜像的shell(如果镜像有bash/sh)
docker run -it <镜像名> /bin/bash

5. 使用 dive 工具(更详细的分析)

bash 复制代码
# 安装 dive
# Ubuntu/Debian
wget https://github.com/wagoodman/dive/releases/download/v0.11.0/dive_0.11.0_linux_amd64.deb
sudo apt install ./dive_0.11.0_linux_amd64.deb

# 使用 dive 分析镜像
dive <镜像名>

6. 查看镜像的元数据

bash 复制代码
# 查看 Dockerfile 中的标签
docker image inspect <镜像名> --format='{{json .Config.Labels}}'

# 查看环境变量
docker image inspect <镜像名> --format='{{json .Config.Env}}'

# 查看入口点和命令
docker image inspect <镜像名> --format='{{json .Config.Entrypoint}}'
docker image inspect <镜像名> --format='{{json .Config.Cmd}}'

# 查看工作目录
docker image inspect <镜像名> --format='{{.Config.WorkingDir}}'

# 查看暴露的端口
docker image inspect <镜像名> --format='{{json .Config.ExposedPorts}}'

7. 实用查询示例

bash 复制代码
# 查看镜像架构(重要!)
docker image inspect ubuntu:latest --format='{{.Architecture}}'

# 查看镜像创建时间
docker image inspect ubuntu:latest --format='{{.Created}}'

# 查看镜像大小
docker image inspect ubuntu:latest --format='{{.Size}}' | numfmt --to=iec

# 查看镜像摘要(digest)
docker image inspect ubuntu:latest --format='{{index .RepoDigests 0}}'

# 查看所有信息(格式化输出)
docker image inspect ubuntu:latest | python3 -m json.tool
# 或者使用 jq(需要安装)
docker image inspect ubuntu:latest | jq '.[0]'

8. 组合查询示例

bash 复制代码
# 显示镜像摘要信息
echo "=== 镜像基本信息 ==="
docker image inspect ubuntu:latest --format='镜像ID: {{.Id}}
架构: {{.Architecture}}
创建时间: {{.Created}}
大小: {{.Size}} 字节
标签: {{.RepoTags}}
摘要: {{index .RepoDigests 0}}'

# 查看镜像的层信息
docker image inspect ubuntu:latest --format='{{range .RootFS.Layers}}{{.}}
{{end}}'

9. 查看远程仓库中的镜像

bash 复制代码
# 使用 skopeo(需要安装)
skopeo inspect docker://ubuntu:latest

# 使用 crane(Google的工具)
crane manifest ubuntu:latest

10. GUI 工具(可选)

  • Portainer:Web 界面管理 Docker
  • Lazydocker:终端 UI
  • Docker Desktop:桌面客户端

最常用的组合命令:

bash 复制代码
# 快速查看镜像核心信息
docker images && echo "---" && docker image inspect <镜像名> --format='架构: {{.Architecture}}, 大小: {{.Size}}, 创建于: {{.Created}}'
相关推荐
工业一体机老司机4 小时前
Docker部署工控机采集服务 Compose编排与开机自启
运维·docker·容器
miaobinfei10 小时前
docker拉取dify镜像,执行docker compose up -d 报错
运维·docker·容器
kobe_OKOK_11 小时前
docker compose命名卷 映射到宿主机的路径
运维·docker·容器
晨陌y16 小时前
Flare自托管导航页教程:Docker部署、多用户、API与公网访问
运维·docker·容器
梅孔立18 小时前
Docker 容器网络不通:Tomcat 无法解析 MySQL、Nginx 无法反代 Tomcat 的生产级排查与治理
网络·docker·tomcat
螺蛳粉 螺蛳粉1 天前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver
PellyKoo1 天前
【docker】cifs卷改smb密码后容器起不来的解决方法
运维·docker·容器
时早玖沐1 天前
放弃 QQ 官方机器人:用 SnowLuma + AstrBot 自建 QQ 机器人
docker·开源·agent
n112121 天前
Ollama 接 Open WebUI 中文界面:我踩的 4 个坑
云原生·eureka·ollama·本地大模型·open webui·私有部署·中文界面
阿标在干嘛1 天前
容器编排的“场景适配”:我们为什么在部分服务中回归了Docker Compose?
运维·docker·容器