Docker—— 镜像原理容器快照commit
Posted 玛丽莲茼蒿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker—— 镜像原理容器快照commit相关的知识,希望对你有一定的参考价值。
一、如何得到镜像
1)从远程仓库下载
2)朋友/同事拷贝给你
3)自己制作DockerFile
二、联合文件系统
Docker的镜像是由一层层的文件系统组成,这种层级的文件系统叫做联合文件系统UnionFS。
三、Docker镜像加载原理
1. bootfs:没太明白。。。
2. rootfs:
对于一个精简的OS(比如centos镜像),rootfs很小,只需要包含最基本的命令、工具和程序库就可以了,因为底层使用的是宿主机的kernel。
四、分层
我们用inspect命令查看镜像的元数据,在“RootFS” 属性可以查看镜像都由哪些层构成。
而这些层是可以被多个镜像共享的。比如我们之前已经下载过了centos镜像,现在我们要下载Redis镜像(6层),而Redis镜像的第一层刚好是centos,那么下载Redis镜像的时候实际上只需要下载5层就可以了,最底层直接用centos镜像。
容器层和镜像层
Docker镜像自身包含的层叫做镜像层, 如果我们想对容器进行一些操作,然后再次发布这个容器。就相当于额外增加了一层,就叫做容器层。
当容器运行时,容器层自动被加载到镜像层的顶部。
五、如何保存镜像的状态
当我们对已有的镜像做了修改,如何提交一个新的镜像?也可以理解成虚拟机的“快照”,我们如何保存docker容器的快照呢?commit命令!
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]
以上是关于Docker—— 镜像原理容器快照commit的主要内容,如果未能解决你的问题,请参考以下文章