zoukankan      html  css  js  c++  java
  • 容器镜像

    容器镜像的组成

    容器的镜像的组成一般分为三个部分:

    只读层

    这一部分一般是操作系统的基础文件,比如下面这些文件目录
    bin boot data dev etc home lib lib64 media mnt opt patch proc root run sbin srv sys tmp usr var

    Init层

    有时用户启动容器时需要修改容器镜像操作系统的一些属性,比如 hostname等。
    这些改动我们并不想将它提交到,所以这些文件单独的在这一层挂载,docker commit 时并不会提交这些内容

    可读写层

    我们需要提交的修改内容在这一层以增量的方式存储,包括文件的增删改等操作。
    如果要进行删除操作,docker则会可读写层创建一个.wh.xxx的文件,通过联合挂载的方式,就会把这个文件遮挡起来,看起来就像是删除了一样。
    你可以尝试一下,下载一个centos的镜像,然后往容器里面添加一个文件,再删除这个文件,你会发现镜像的大小并没有减小,只会增加。下满是我的测试结果。

    所以往镜像中添加文件要谨慎,不要加了又删,这并不会减小镜像的大小的。

    联合挂载

    什么是联合挂载。比如当前A目录下有文件a.txt,B目录下有文件b.txt,现在将目录AB联合挂载到C目录下,C目录下就有了 a.txt和b.txt两个文件。
    docker就是利用联合挂载的方式将容器镜像的每一层联合挂载到统一的挂载点。

  • 相关阅读:
    【题解】小Z的袜子
    浅谈最小生成树
    【题解】钻石收藏家
    浅谈线段树
    浅谈拓扑排序
    浅谈树的直径和树的重心
    浅谈求逆序对
    浅谈欧拉回路
    浅谈离散化
    浅谈高斯消元
  • 原文地址:https://www.cnblogs.com/virgosnail/p/14113758.html
Copyright © 2011-2022 走看看