Docker 查看镜像信息


一则或许对你有用的小广告

欢迎加入小哈的星球,你将获得:专属的实战项目(4个项目都能学) / 1v1 提问 / 简历修改 / Java 学习路线 / 社群讨论 / 学习打卡 / 每月赠书

  • 《Spring AI 项目实战(问答机器人、RAG 智能客服、联网搜索)》已完结,基于 Spring AI + Spring Boot 3.x + JDK 21...查看介绍

  • 《从零手撸:仿小红书(微服务架构)》 已完结,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...查看介绍;演示链接:http://116.62.199.48:7070/

  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接:http://116.62.199.48/

  • 新开坑项目:《从零手撸:秒杀系统高并发优化实战》 正在更新中...,查看介绍

截止目前,星球内专栏累计输出 150w+ 字,讲解图 5110+ 张,还在持续爆肝中.. 后续还会上新更多项目,已有 4700+ 小伙伴加入学习,欢迎点击围观

大家好,我是小哈~

本小节中,我们将学习 Docker 如何查看镜像信息。

一、images 命令列出镜像

通过使用如下两个命令,可以列出本地已下载的镜像:

docker images

或:

docker image ls

如下图所示:

Docker 查看镜像信息
Docker 查看镜像信息

红色标注的字段说明:

  • REPOSITORY: 来自于哪个仓库;
  • TAG: 镜像的标签信息,比如 5.7、latest 表示镜像不同的版本;
  • IMAGE ID: 镜像的 ID, 如果您看到两个 ID 完全相同,那么实际上,它们指向的是同一个镜像,只是标签名称不同罢了;
  • CREATED: 镜像创建于什么时间;
  • SIZE: 镜像的大小,优秀的镜像一般体积都比较小,小哈更倾向于轻量级的 alpine 版本镜像;

二、使用 inspect 命令查看镜像详细信息

通过 docker inspect 命令,可以获取镜像的更多详细信息,其中,包括创建者,各层 layer 的数字摘要等。

docker inspect mysql:5.7

Docker inspect 查看镜像详细信息
Docker inspect 查看镜像详细信息

docker inspect 返回的是 JSON 格式的信息,如果您想获取其中指定的一项内容,可以通过 -f 来指定,如获取镜像大小:

docker inspect -f {{".Size"}} mysql:5.7

Docker inspect 查看镜像详细信息
Docker inspect 查看镜像详细信息

三、使用 history 命令查看镜像历史

一个镜像是由多个层(layer)组成的,那么,我们要如何知道各个层的具体内容呢?

通过 docker history 命令,可以列出各个层(layer)的创建信息,以下是查看 mysql:5.7 的各层信息的命令:

docker history mysql:5.7

Docker history 各层信息
Docker history 各层信息

上面的输出信息中,为了美观,超出的都省略了,如果想要看具体信息,可以添加 --no-trunc 参数,命令如下:

docker history --no-trunc mysql:5.7