加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何使用HTTP设置只读私有docker注册表?

发布时间:2020-12-20 13:43:55 所属栏目:Python 来源:网络整理
导读:我正在运行自己的私有注册表,并希望通过纯HTTP而不是使用docker-registry python应用程序传递图像数据.有没有办法配置nginx(或任何其他Web服务器)来提供注册表图像数据? 与python docker-registry应用程序相比,nginx可以更好地扩展图像数据的传输. 解决方法
我正在运行自己的私有注册表,并希望通过纯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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读