通过docker compose1.27.4
运行registry:2
映像,docker本身位于19.03.13
。
注册表被配置为";"直通高速缓存";,也称为";"代理";或";镜像;一些人。设置非常基本,并遵循官方文档:
version: 0.1
log:
fields:
service: registry
storage:
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
delete:
enabled: true
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
proxy:
remoteurl: https://registry-1.docker.io
当使用标准程序通过API删除此注册表上的映像时。。。
查找标签名称
export HEADER="Accept: application/vnd.docker.distribution.manifest.v2+json" curl -s -H $HEADER https://<HOST>/v2/<CATALOG>/tags/list
查找相应的SHA
curl -sI -k -H $HEADER https://<HOST>/v2/<CATALOG>/manifests/<TAG>
通过SHA 删除
curl -H $HEADER -X DELETE https://<HOST>/v2/<CATALOG>/manifests/<SHA>
。。。最后一个命令我得到了404:
404 page not found
当我对注册表配置中注释掉的proxy
位执行同样的操作时,它就工作了。
这让人感觉很熟悉,因为无法推动这样一个";"直通高速缓存";注册,公平地说,这是有文件记录的。这个用例不是——或者是吗?
registry:2
映像的直通缓存功能正是为拉取而设计的。任何其他操作,如推送或删除,都不受支持,预计会出现错误。要删除源处的清单,您需要对该注册表运行delete命令。我不相信有任何API可以提前从缓存中删除清单,这是一个固定的7天到期时间。