我正在运行自己的私有注册表,并希望通过纯HTTP而不是使用docker-registry
python应用程序传递图像数据.有没有办法配置Nginx(或任何其他Web服务器)来提供注册表图像数据?
与python docker-registry应用程序相比,Nginx可以更好地扩展图像数据的传输.
解决方法
您可以生成描述图像层数据所需的缺失文件(图像和标签).这是一个简单的bash片段,用于生成缺少的信息.
#!/bin/bash REGISTRY_SERVER=localhost:5000 REGISTRY_TOPDIR=/srv/docker-registry-storage/ touch $REGISTRY_TOPDIR/_ping find $REGISTRY_TOPDIR -name _index_images -type f | while read F do D="$(dirname "$F")" B="$(basename "$D")" P="$(echo "$D" | sed "s,^$REGISTRY_TOPDIR,/v1/,")" curl -s http://$REGISTRY_SERVER/$P/images > $D/images curl -s http://$REGISTRY_SERVER/$P/tags > $D/tags done
最后但并非最不重要的是,您需要访问$REGISTRY_TOPDIR Web.运用
这看起来像Nginx:
location /v1/ { alias /srv/docker-registry-storage/; autoindex on; allow 127.0.0.1; allow 10.0.0.0/8; deny all; }
最后,测试一下.请注意,如果在path参数中没有USER的情况下插入图像,它将在文件系统的位置插入“library”.
docker pull someserver.example.net/library/template
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。