查看 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}}'
相关推荐
雪可问春风1 天前
docker环境部署
运维·docker·容器
双份浓缩馥芮白1 天前
【Docker】Linux 迁移 docker 目录(软链接)
linux·docker
Crazy________1 天前
docker4.8
java·开发语言·eureka
kobe_OKOK_1 天前
S7 adapter Docker run
运维·docker·容器
一个欠登儿程序员1 天前
在国产服务器上通过 Docker 部署 Windows 虚拟机
服务器·windows·docker
Hadoop_Liang1 天前
构建Spring Boot项目Docker镜像
spring boot·后端·docker
Learn-Python1 天前
修改docker容器内文件后让其生效
运维·docker·容器
http阿拉丁神猫1 天前
kubernetes知识点汇总37-42
云原生·容器·kubernetes
赵丙双1 天前
docker restart 策略
docker·restart
工具罗某人1 天前
docker实现redis-cluster模式集群部署
java·redis·docker