docker registry cache (inmemory/redis)

- /etc/docker/registry/config.yml
version: 0.1
log:
  fields:
    service: registry
storage:
  cache:
    blobdescriptor: redis
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
redis:
  addr: 192.168.10.22:6379
  db: 0
  dialtimeout: 10ms
  readtimeout: 10ms
  writetimeout: 10ms
  pool:
    maxidle: 16
    maxactive: 64
    idletimeout: 300s
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

镜像/镜像layers metadata 元数据会存储在redis中,类似:


镜像上传/下载会优先读取cache中元数据;

同步下镜像下载失败排查情况:
    经排查镜像上传日志正常,没有错误,但是下载异常,无法下载;是由于此镜像清单,及镜像layers 元数据信息已经保存在缓存中,
但是其中一层layers 实际并未真正存储成功(尚不明bug如何产生);
   造成现象: 镜像元数据可以正常pull,并进入下载,但是其中一层layer 下载失败,导致镜像无法pull;
   快速解决方法:1、更新此服务版本重新上传部署;
                       2、重启仓库或者清除此版本缓存,并重新上传;



Pingbacks已打开。

引用地址

评论
发表评论