Docker 查看镜像信息

更新时间 2022-12-24 15:52:28

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

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

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 50w+ 字,讲解图 2200+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 1700+ 小伙伴加入学习 ,欢迎点击围观

大家好,我是小哈~

本小节中,我们将学习 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