目录
1、原理
底层是内核,第二层是基础镜像,然后在基础镜像上每修改一次便会叠加一层,也就是说每当有数据变化就会独立一层出来并记录数据的变化,使用的原始镜像仍是最开始的Centos或debian或Ubuntu等的镜像,而且仍是共用宿主机的内核,这便是镜像的分层。
通过docker history centos:6.9可看到每一层的数据变化
[root@localhost ~]#docker history httpd:latest
2、优势
共享资源、节省资源
(1)一份base镜像构建而来,那么docker主机只需在磁盘上保存一份base镜像。
(2)内存中也只需加载一份base镜像,就可以为所有容器服务,节省了大量的存储空间和内存。
3、构建镜像过程详解
3.1 using cache
当构建新镜像时,发现所需的东西在之前的镜像存在,这时就会使用之前的已经缓存过的镜像进行构建,最后构建镜像的速度会非常的快。在改动很小的时候会构建镜像非常快。
3.2 RUN原理
当构建镜像时执行RUN命令会运行一个临时的容器。b39a84fedcc0就是临时容器的ID,在构建镜像时可通过docker ps查看这个临时容器的运行状态。