Docker:dockerfile镜像的分层 [九]

 一、docker镜像的分层

1、图像呈现

2、命令呈现

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@oldboy kod]# docker image history kod:v1
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
25f70cb6dec6        42 minutes ago      /bin/sh -c #(nop)  CMD ["/bin/bash" "/init.s…   0B
2c08007784ad        42 minutes ago      /bin/sh -c #(nop)  EXPOSE 80                    0B
beea547494c2        42 minutes ago      /bin/sh -c #(nop) ADD file:9fded30cd1519b8d3…   70B
0accf7a7f519        42 minutes ago      /bin/sh -c chmod -R 777 /var/www/html           46.2MB
c8431307a174        42 minutes ago      /bin/sh -c unzip kodexplorer4.37.zip            32.4MB
3c55f532dca0        42 minutes ago      /bin/sh -c #(nop) COPY file:c0ede8b6cbebd456…   13.8MB
138f23faf452        2 hours ago         /bin/sh -c #(nop) WORKDIR /var/www/html         0B
84e186c5a38f        2 hours ago         /bin/sh -c yum install httpd php php-cli unz…   124MB
e88c611d16a0        3 months ago        /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B
<missing>           3 months ago        /bin/sh -c #(nop)  LABEL name=CentOS Base Im…   0B
<missing>           3 months ago        /bin/sh -c #(nop) ADD file:b99efdfca7b4df4ef…   195MB

二、镜像分层的好处

1、分层的好处:

共享资源,节省资源
有多个镜像都从相同的 base 镜像构建而来,那么 Docker Host 只需在磁盘上保存一份 base 镜像;同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了

2、在构建中的截图

三、dockerfile中run的原理

1、目录层级呈现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[root@oldboy layerdb]# pwd
/var/lib/docker/image/overlay2/layerdb
[root@oldboy layerdb]# tree
.
├── mounts
│?? └── f2e286474958ee74a06328fadc4a1839a09bb4fdb8ed1f66c649881b6cff5494
│??     ├── init-id
│??     ├── mount-id
│??     └── parent
├── sha256
│?? ├── 002679450ec12ca6a1d3bc0ef546ba7f85473cc636dbd4d9b903f09f674f7cc6
│?? │?? ├── cache-id
│?? │?? ├── diff
│?? │?? ├── parent
│?? │?? ├── size
│?? │?? └── tar-split.json.gz
│?? ├── 6a7858bdc1779c5035b615ac39738d0f40a147280f90241829c73af1779ff248
│?? │?? ├── cache-id
│?? │?? ├── diff
│?? │?? ├── parent
│?? │?? ├── size
│?? │?? └── tar-split.json.gz
│?? ├── 98ce75898ea99aa8be599a25310488bf433b5289ca684180c0cdea545f29f67a
│?? │?? ├── cache-id
│?? │?? ├── diff
│?? │?? ├── parent
│?? │?? ├── size
│?? │?? └── tar-split.json.gz
│?? ├── 9d114c8578095cdd3c1660928c3cca65cd7c241b66fd2a426a3a52845b5cd4ca
│?? │?? ├── cache-id
│?? │?? ├── diff
│?? │?? ├── parent
│?? │?? ├── size
│?? │?? └── tar-split.json.gz
│?? ├── b5e11aae8a8e8fab750bd384393aafa379e21c57c398f5dd4980cd01fcf55b9e
│?? │?? ├── cache-id
│?? │?? ├── diff
│?? │?? ├── size
│?? │?? └── tar-split.json.gz
│?? └── fbda96ca5467cc519d850984c8f3df6973c5ea9a0f7b22ac516576adcc0a5137
│??     ├── cache-id
│??     ├── diff
│??     ├── parent
│??     ├── size
│??     └── tar-split.json.gz
└── tmp

2、截图呈现

四、docker的简单总结

 

posted @   活的潇洒80  阅读(2658)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示