显示Docker映像层

每个演讲机会都是一堂学习课,因此是一个新的分享机会。 该博客将解决过去几天困扰我的问题之一。 它是关于下载后如何显示Docker映像的不同层及其大小的信息。

今天上午,我应邀在Peru JUG上谈论了Java开发人员的Docker。 录音现在可用:

实际内容从5:27开始。

现在解决这个问题。

每个Docker映像均由一系列层组成。 这是docs.docker.com的报价:

每个图像由一系列图层组成。 Docker利用联合文件系统将这些层组合成一个映像。 联合文件系统允许透明文件覆盖独立文件系统(称为分支)的文件和目录,从而形成单个一致的文件系统。

Docker映像如何工作?

可以使用docker images轻松查看图像的确切大小:

docker images couchbase
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
couchbase           latest              45abdd57689a        3 weeks ago         372 MB

显示不同图层及其大小的命令是docker history

docker history couchbase
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
45abdd57689a        3 weeks ago         /bin/sh -c #(nop) VOLUME [/opt/couchbase/var]   0 B                 
dd8c5611343d        3 weeks ago         /bin/sh -c #(nop) EXPOSE 11207/tcp 11210/tcp    0 B                 
30852bbad62b        3 weeks ago         /bin/sh -c #(nop) CMD ["couchbase-server"]      0 B                 
5537747ea12f        3 weeks ago         /bin/sh -c #(nop) ENTRYPOINT &{["/entrypoint.   0 B                 
e8a83a5448df        3 weeks ago         /bin/sh -c #(nop) COPY file:cbb44c9c65b64a9dc   182 B               
18165b90fefa        3 weeks ago         /bin/sh -c #(nop) COPY file:34e32c52f0895191f   389 B               
5f37b8bdc5a6        3 weeks ago         /bin/sh -c wget -N $CB_RELEASE_URL/$CB_VERSIO   212.1 MB            
1a8da511d01b        3 weeks ago         /bin/sh -c groupadd -g 1000 couchbase && user   328.7 kB            
d9b2222c39b4        3 weeks ago         /bin/sh -c #(nop) ENV CB_VERSION=4.0.0 CB_REL   0 B                 
815f08b3c781        3 weeks ago         /bin/sh -c apt-get update &&     apt-get inst   23.57 MB            
fc38f156c0ea        3 weeks ago         /bin/sh -c #(nop) MAINTAINER Couchbase Docker   0 B                 
2a7a952931ec        3 weeks ago         /bin/sh -c #(nop) CMD ["/bin/bash"]             0 B                 
10f1b5844a9c        3 weeks ago         /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$/   1.911 kB            
23c388b926b6        3 weeks ago         /bin/sh -c echo '#!/bin/sh' > /usr/sbin/polic   156.2 kB            
b45376f323f5        3 weeks ago         /bin/sh -c #(nop) ADD file:4a9e089e81d6581a54   135.9 MB

此命令显示不同的图层,用于每个图层的命令以及每个图像的确切大小。

该映像的相应Dockerfile位于github.com/couchbase/docker/blob/master/enterprise/couchbase-server/4.0.0/Dockerfile

现在,我可以将Dockerfile与确切大小进行比较,并轻松找到最大的图像层。 例如,此Couchbase图像中的最大贡献者如下所示:

可以将--no-trunc指定为history的附加CLI选项,以显示为构建层而执行的完整命令。

翻译自: https://www.javacodegeeks.com/2015/12/show-layers-docker-image.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值