答案 0 :(得分:2)
我认为唯一的方法就是全力以赴,然后重新推销它们并推送到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
答案 1 :(得分:0)
通过SSH访问您的注册表计算机,使用docker login
登录您的Docker Hub帐户,为您的图像添加标记,指向Docker Hub docker tag my_own_registry.com/image:tag user/image:tag
a然后使用{{推送新标记1}}。
@zigarn脚本可自动执行此任务。
修改:您评论说您的带宽不好,然后您可以通过ssh访问您的注册表计算机,使用docker push user/image:tag
保存图片,然后将其复制到您的计算机并按docker save
加载最后将其推送到Docker Hub,如上所述。