持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第13天,点击查看活动详情
生命不息,学习不止
题外话
今天又是阳光明媚的一天,经过了三个星期一,今天终于到了星期二了(国庆假期过得好快,调休连上七天真的好慢),大家挺住啊,胜利就在前方。
废话不多说,上货!
正文
上一回解析了docker的联合文件系统,今天来说说docker镜像的分层详情。
镜像结构
讲联合文件系统的时候,提到了镜像的分层,那就拿图来说说docker镜像的结构
上一讲也提到过,镜像的开发都是基于一个基础镜像的,所以所有的镜像都包含一个基础镜像层,
基础镜像层被共享的,一般基础镜像层都是根据构建镜像的环境来生成的,比如基于linux的某发行版本
当对镜像进行修改或增加等操作时,会直接在前镜像层上形成新的镜像层,所以当我们去拉取最新的镜像时往往会提示我们已包含基础镜像,所以我们一般拉取的就是新更新的几层镜像层
假如我们只是单纯的更新了某一层的版本,比如镜像中包含一层是golang 1.1,我们要替换为golang 2.2 ,这时并没有新增镜像层,而是直接替换了旧版本的golang层
这里要注意一下docker file的指令会创建新的image层
下一篇我们继续来讲docker容器中镜像的分层作用
大家看完发现有什么错误,写在下面吧!跟我黑虎阿福比划比划!