[英]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.