查看 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}}'
相关推荐
wjcroom4 小时前
FileBrowser的docker运行了改变密码长度的做法
运维·docker·容器
dazhong20126 小时前
Docker 进阶篇(一) CentOS 7 离线升级 Docker 完整实战
docker·容器·centos
雾隐隐o7 小时前
Docker Compose 多容器编排实战
运维·docker·容器
IT大白鼠8 小时前
Kubernetes 核心资源ReplicaSet 控制器详解
云原生·容器·kubernetes
梦之美丽生活9 小时前
【本地部署及docker部署】yolov8_detect
yolo·docker·容器
^酸酸9 小时前
Kubernetes 运维实战:临时容器、端口转发与资源管理详解
运维·容器·kubernetes
奇特認10 小时前
kubernetes 微服务
微服务·容器·kubernetes
UseLessQQ10 小时前
云原生 kubernetes 中的service
云原生·容器·kubernetes
毕竟是shy哥11 小时前
windows电脑WSL下本地构建docker镜像
windows·docker·容器
小灰灰搞电子12 小时前
Rust 相关容器(集合)详解
开发语言·容器·rust