如何从docker.io切换到quay.io?

How to switch from docker.io to quay.io?

我需要帮助如何将图像注册服务器从 docker.io 切换到 quay.io。 我的情况是,我从 hub.docker.com 拉取了 centos 镜像,我想将它推送到 quay.io。 我已经登录到我的 quay.io,但是当我尝试像这样 shell 推到码头时,它不起作用。 这是我切换到 quay.io 的步骤:

  1. 创建码头存储库MYUSERNAME/centos
  2. 从 docker.io
  3. 注销
# docker logout docker.io
  1. 登录quay.io
# docker login quay.io
  1. 我填证件
  2. 我创建新标签
# docker tag IMAGEID MYUSERNAME/centos:7
  1. 我把我的镜像推送到 quay
# docker push MYUSERNAME/centos:7

这是我为最后一个 shell 命令得到的输出:

The push refers to repository [docker.io/MYUSERNAME/centos]
2653d992f4ef: Preparing 
denied: requested access to the resource is denied

我可以看到注册表映像服务器仍然指向 docker.io。

如何解决这个问题?谢谢。

简而言之,标签的格式为 site/something/name:tag 其中:

  • 如果缺少site,则假定为docker.io(无法更改)
  • 如果缺少something,则假定为library
  • 如果缺少:tag,则认为是最新的。

例如 docker pull alpinedocker pull docker.io/library/alpine:latest 相同。

如果您想使用不同地址的存储库,您必须在标记时明确给出其名称:

docker tag IMAGEID quay.io/MYUSERNAME/centos:7
docker push quay.io/MYUSERNAME/centos:7