簡體   English   中英

如何將映像從私有注冊表推送到hub.docker.com?

[英]How to push image from private registry to hub.docker.com?

我正在將項目從私有注冊表遷移到hub.docker.com,但我在計算機上沒有所有帶標簽的圖像。

我可以通過SSH訪問注冊表計算機。

如何將所有注冊表映像推送到hub.docker.com?

我認為唯一的方法是將它們全部拉出,然后重新標記它們並推送到hub.docker.com

您可以使用類似以下內容的腳本:

for repository in $(curl -s http://localhost:5000/v2/_catalog | jq -r '.repositories[]'); do
  for image in $(curl -s http://localhost:5000/v2/${repository}/tags/list | jq -r '(.name + ":" + .tags[])')
    docker image pull localhost:5000/${image}
    docker image tag localhost:5000/${image} <YOUR_HUB_PREFIX>/${image}
    docker image push <YOUR_HUB_PREFIX>/${image}
    # if you need some cleanup
    docker image rm localhost:5000/${image} <YOUR_HUB_PREFIX>/${image}
  done
done

通過SSH訪問您的注冊表計算機,使用docker login在您的Docker Hub帳戶中登錄,在圖像中添加一個標簽,該標簽指向Docker Hub docker tag my_own_registry.com/image:tag user/image:tag一個然后推送該新標簽使用docker push user/image:tag

@zigarn腳本可自動完成此工作。

編輯:您評論說帶寬不好,然后您可以通過ssh訪問注冊表計算機,使用docker save保存圖像,然后將其復制到計算機並通過docker load加載它,最后將其推送到Docker Hub,如上所述。

暫無
暫無

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

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