docker
文章平均质量分 76
蓝色小靴子
这个作者很懒,什么都没留下…
展开
-
push重复的镜像会怎么样?
以alpine镜像为例。原创 2023-06-01 16:38:09 · 497 阅读 · 0 评论 -
docker manifest中最底层是最前面的还是最后面的
最后一行是新增的层所以最底层应该是layers列表中的第一个层。原创 2023-04-04 10:29:37 · 270 阅读 · 0 评论 -
docker实现文件改动的原理
当我们需要删除文件file1时,由于文件file1是镜像层的文件,此时会在容器最上层中创建一个.wh开头的隐藏文件,从而将文件file1隐藏掉,所以文件file1并未被删除掉,这样也就保证了镜像层数据的完整性和复用性。打开.wh文件没有任何内容,而我删除的文件名为testR,对应的.wh文件名就是.wh.testR,所以是否说是根据文件名来识别,.wh.后跟的内容就是要隐藏的文件。而testRemove只剩下了空目录,因为前面的层都是只读的,那这里光一个空目录如何实现对前面层中testR文件的删除呢?原创 2023-03-27 15:07:58 · 223 阅读 · 0 评论 -
【论文笔记】基于容器访问模式的Docker缓存策略研究
即在registry端和后端存储端都建立预取缓存,优先去registry内存中找,找不到去后端存储内存中找,只要在这两个地方找到都算缓存命中。缓存未命中的话再去后端存储的硬盘中提取。原创 2023-02-28 21:48:44 · 120 阅读 · 0 评论 -
【论文笔记】Slimmer: Weight Loss Secrets for Docker Registries
本文分析了167TB的解压缩后的Docker镜像数据,发现Docker中只有3%的唯一文件,其他都存在冗余,而Docker现有的层共享机制不能消除这种文件级冗余,所以本文提出了Slimmer——支持文件级重复数据删除的Docker registry,并对其性能影响进行了基于仿真的分析。原创 2023-03-01 09:54:01 · 134 阅读 · 0 评论 -
【论文笔记】Carving Perfect Layers out of Docker Images
当前Docker Hub中已存储超千万个镜像,并使用层共享方式来减少冗余(即层级重复数据删除),但是由于Docker镜像开发规范的不完善,再加上开发人员常常自己创建docker镜像层而不是直接使用已经存在的层等原因,导致Docker中存在大量的几乎相同又不完全相同的层,在层级重复数据删除的背景下这些层都会被识别为unique层进行存储,因此产生了大量的冗余。所以本文章提出了对docker数据中心中的所有镜像进行重组,即将所有的层打散为文件,再将这些文件重组为新的层,以减少冗余,降低存储开销。原创 2023-02-06 10:05:51 · 135 阅读 · 1 评论 -
客户端(本地)docker镜像存储结构
在目录下有distribution 、 imagedb 、 layerdb 三个目录和 repositories.json文件。原创 2022-11-07 10:13:23 · 2797 阅读 · 0 评论 -
私有docker registry V2的pull和push流程——HTTP
pull一个镜像的时候客户端要先向registry发送获取manifest请求,获取到manifest后客户端要验证manifest签名的真实性以确保名称(镜像名吗?每个layer都以一个blob的形式存储在registry中,以摘要作为关键字来标识不同的layer。push流程与pull相反,组装好镜像manifest后要先push各个layer,待所有layer都被push到registry中后再上传签名的manifest。通过url中的name和reference参数来标识镜像(必要参数)。原创 2022-10-11 21:40:22 · 1543 阅读 · 0 评论