我有一个问题,我的注册表停止工作后,我删除图像从它。我想从私有注册表中删除图像,以释放一些存储空间并清除未使用的图像。
我有以下设置/工作流:
步骤1-6运行良好,步骤4工作正常(我猜),但是步骤7-8并不像预期的那样工作。
预期结果:
实际结果:
Error response from daemon: manifest for registry.swarm/waterfall:latest not found: manifest unknown: manifest unknown备注:
解决方案:
在注册表中修复图像的唯一方法是在主机上重建图像并推送新版本。
第二例:
如果我跳过第5步,第8步中的拉力就会起作用。它开始拉出图像,但在某一层,对接失败,并说“在x秒内重试”。几分钟后,莱克成功地把整个形象拉了出来。但是EOF失败了(仅此而已)
这是故意的行为还是我做错了什么?
发布于 2021-03-04 15:26:39
我认为这是分发注册表中一个旧的未解决的缓存问题(请在此处查看链接以打开)。
我已经将我的私有存储库配置为使用inmemory blobdescriptor缓存,并且遇到了与您相同的问题(参见下面的配置部分)。
version: 0.1
log:
fields:
service: registry
level: info
storage:
cache:
blobdescriptor: inmemory
filesystem:
...对于这种配置,唯一简单的修复方法是重新启动专用的坞注册中心。
假设您已经将私有注册表部署为一个码头容器,只需运行:
docker restart <your_registry_container>官方的文档只提到两种缓存blobdescriptor配置:inmemory和redis。
但是显然,将blobldescriptor值设置为""会禁用缓存。
version: 0.1
log:
fields:
service: registry
level: info
storage:
cache:
blobdescriptor: ""
filesystem:
...你不用再重新启动注册表了。
https://stackoverflow.com/questions/66440572
复制相似问题