簡體   English   中英

Nexus3:推送到Docker Group Repo

[英]Nexus3: Push to Docker Group Repo

我有Nexusv3.6並創建了一個Docker repo docker docker-repo (類型:托管)和一個Docker組docker-group (類型:group)。 對於我啟用的HTTPS連接器 在此輸入圖像描述

端口8101上的docker-repo和端口8102上的docker-group

我將docker-repo添加到了我的docker-group

現在,我可以直接將圖像推送到/從docker-repo拉出,如:

docker push myhost.com:8101/mymimage:latest

但是當我試圖像這樣推動小組:

docker push myhost.com:8102/docker-repo/mymimage:latest

我收到錯誤說: error parsing HTTP 404 response body: invalid character '<' looking for beginning of value

有什么想法這里的問題是什么?

我用NGINX解決了這個問題如下: 更新

在以下示例中,“repository / docker”是一個組合了docker-proxy和docker托管的存儲庫的組。

所有HEAD *和GET請求都代理到docker存儲庫組(托管+代理)。 所有“更改”請求都直接代理到docker托管的存儲庫。
*一個例外。 HEAD /v2/.../blobs/應代理托管HEAD /v2/.../blobs/因為它在推送blob之前調用托管HEAD /v2/.../blobs/ ,我們必須檢查托管HEAD /v2/.../blobs/的blob是否存在。 否則我們會收到錯誤: blob unknown: blob unknown to registry

    server {
        listen   *:443 default_server ssl;

.........................

        location ~ ^/(v1|v2)/[^/]+/?[^/]+/blobs/ {
            if ($request_method ~* (POST|PUT|DELETE|PATCH|HEAD) ) {
                rewrite ^/(.*)$ /repository/docker-hosted/$1 last;
            }
            rewrite ^/(.*)$ /repository/docker/$1 last;
        }

        location ~ ^/(v1|v2)/ {
            if ($request_method ~* (POST|PUT|DELETE|PATCH) ) {
                rewrite ^/(.*)$ /repository/docker-hosted/$1 last;
            }
            rewrite ^/(.*)$ /repository/docker/$1 last;
        }

        location / {
            proxy_pass http://nexus:8081/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto "https";
        }
    }

您可以通過運行來驗證設置:

# pull via proxy
docker pull nexus.your.domain/ubuntu

# push to the hosted repository
docker push nexus.your.domain/ubuntu

根據有關docker的存儲庫組的官方文檔

建議使用存儲庫組來公開所有存儲庫,以便對用戶進行讀取訪問。

並且,從關於在私人注冊表中推送圖像的文檔

您無法推送到存儲庫組或代理存儲庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM