Docker系列学习(13) -- 镜像分层详解

1,353 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第13天,点击查看活动详情

生命不息,学习不止

题外话

今天又是阳光明媚的一天,经过了三个星期一,今天终于到了星期二了(国庆假期过得好快,调休连上七天真的好慢),大家挺住啊,胜利就在前方。

废话不多说,上货!

正文

在这里插入图片描述

上一回解析了docker的联合文件系统,今天来说说docker镜像的分层详情。

镜像结构

讲联合文件系统的时候,提到了镜像的分层,那就拿图来说说docker镜像的结构

image.png

上一讲也提到过,镜像的开发都是基于一个基础镜像的,所以所有的镜像都包含一个基础镜像层,

基础镜像层被共享的,一般基础镜像层都是根据构建镜像的环境来生成的,比如基于linux的某发行版本

当对镜像进行修改或增加等操作时,会直接在前镜像层上形成新的镜像层,所以当我们去拉取最新的镜像时往往会提示我们已包含基础镜像,所以我们一般拉取的就是新更新的几层镜像层

假如我们只是单纯的更新了某一层的版本,比如镜像中包含一层是golang 1.1,我们要替换为golang 2.2 ,这时并没有新增镜像层,而是直接替换了旧版本的golang层

这里要注意一下docker file的指令会创建新的image层

下一篇我们继续来讲docker容器中镜像的分层作用

在这里插入图片描述

大家看完发现有什么错误,写在下面吧!跟我黑虎阿福比划比划! 在这里插入图片描述