docker查看镜像拉取地址 docker查看镜像层 |
您所在的位置:网站首页 › 阿里云docker镜像地址 › docker查看镜像拉取地址 docker查看镜像层 |
该章的笔记只对稍微难一点的知识点做记录,简单的就不会进行赘述了。 目录悬虚镜像(dangling)镜像和分层共享镜像层镜像散列值困境(push pull时,镜像压缩到值散列值变化)解决方案(每个镜像层包含一个分发散列值Distribution Hash,不受镜像压缩影响)
镜像包含:镜像层、元数据信息(entrypoint等信息) 悬虚镜像(dangling)悬虚镜像:没有标签的镜像 产生原因:构建的新镜像A,镜像A取名字时与一存在的镜像B重名。镜像B此时就是悬虚镜像。 移除全部悬虚镜像命令:docker image prune移除全部悬虚镜像及没有起容器的镜像:docker image prue -a显示全部悬虚镜像:docker image ls --filter dangling=true镜像和分层docker镜像是由一层层耦合的镜像组成的。整体单个同一对象称为“镜像”。 如何实现镜像堆栈,以及对镜像层对外保持统一的文件系统? 通过存储引擎系统:新版本采用快照机制。docker存储引擎:AUFS、Overlay2、Device mapper、Btrfs、ZFS。目前我仅仅用过Overlay2。存储引擎(Snapshotter)具有功能:镜像分层、镜像共享、写时复制(Cow)。共享镜像层多个 镜像之间会共享镜像层、用以节省空间。 上图中 Already exists显示共享镜像层一存在该层镜像。 镜像散列值每个镜像都有个一个唯一ID,称为镜像内容散列值,它是根据镜像内容进行加密得到的加密散列值。任何内容改动都会改变散列值。 困境(push pull时,镜像压缩到值散列值变化)镜像在拉取、推送时会对镜像层进行压缩、用以节省存储空间和网络带宽。但是压缩前后docker hub都会对镜像重新进行散列值计算,导致无法进行校验。*压缩不代表分层镜像包含内容值改变)。 解决方案(每个镜像层包含一个分发散列值Distribution Hash,不受镜像压缩影响)每个镜像层包含一个分发散列值,在传输过程中没层同时包含一个分发散列值会检验拉取镜像是否被修改过,不受镜像压缩影响。 这种模型提升了镜像的安全性,在拉取和推送后可确认内容一致。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |