【问题标题】:How do I push an image to my NON-public repo in dockerhub如何将图像推送到 dockerhub 中的非公开存储库
【发布时间】:2015-07-22 07:46:17
【问题描述】:

如何推送到 dockerhub 上的非公共仓库?

假设帐户名为“myaccount”,(非公开)repo 名为“myrepo”。在 repo 页面中,它显示“拉取这个存储库:docker pull myaccount/myrepo”。

例如,假设我有一个名为“myrepo/myimage”的图像。我已登录我的帐户 (sudo docker login),并尝试过,

sudo docker push docker.io/myrepo/myimage
sudo docker push myrepo/myimage
sudo docker push myaccout:myrepo/myimage
sudo docker push myaccount/myrepo:myrepo/myimage
sudo docker push myaccount/myrepo:myimage

等等

这些都不起作用。我收到诸如“无效的存储库名称”之类的错误,或者它成功但说:“您真的要推送到公共注册表吗?” - 我没有 - 我想将它推送到我的非公共 dockerhub 存储库(“myaccount/myrepo”)。

【问题讨论】:

    标签: docker push dockerhub


    【解决方案1】:

    请先在本地使用
    docker tag <your-local-image> myaccount/myrepo:<tag-name> 将您的图像标记为 myaccount/myrepo:<tag-name>,然后尝试
    docker push myaccount/myrepo:<tag-name>
    注意为 标记提供有效名称-name> 比如 v1v2

    【讨论】:

    • 感谢您的建议。我现在看到标签不仅适用于版本。我的两个图像不是不同的版本——它们是完全独立的图像。所以我不会使用“v1”和“v2”,而是使用“SomeImage”和“SomeOtherImage”。没关系 - 我只是没有意识到应该以这种方式使用标签。但我试过了,我登录了,推送后我收到错误消息,“FATA[0006] 存储库不存在:docker.io//。请注意,我的 repo 是不公开,但确实存在 - 我现在正在查看它。
    • 错误消息中的<my-account>/<my-repo> 前面怎么会出现docker.io。你在本地标记为<my-account>/<my-repo>:<tag-name>,对吧?
    • 我用的是 Centos,结果发现 Red Hat 有自己的 docker 版本,需要在前面加上“docker.io”。我需要做的是 sudo docker tag docker.io//: 然后 sudo docker push docker.io// :.
    • 在这种情况下,您可能希望将 Red Hat 提供的 docker 二进制文件替换为官方 docker 二进制文件:docs.docker.com/installation/binaries
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-19
    • 2011-03-22
    • 1970-01-01
    • 2021-12-03
    • 2019-08-30
    相关资源
    最近更新 更多