Docker 查看镜像信息

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

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

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书活动

目前, 星球 内第一个项目:全栈前后端分离博客项目,演示地址:http://116.62.199.48/, 1.0 版本已经更新完毕,正在更新 2.0 版本。采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 224 小节,累计 35w+ 字,讲解图:1544 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 1000+ 小伙伴加入,欢迎点击围观

大家好,我是小哈~

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