1

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

  1. 创建码头仓库 MYUSERNAME/centos
  2. 从 docker.io 注销
# docker logout docker.io
  1. 登录 quay.io
# docker login quay.io
  1. 我填写凭证
  2. 我创建新标签
# docker tag IMAGEID MYUSERNAME/centos:7
  1. 我把我的形象推到码头
# 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。

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

4

1 回答 1

2

简而言之,标签的格式site/something/name:tag如下:

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

所以例如docker pull alpine是一样的docker pull docker.io/library/alpine:latest

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

docker tag IMAGEID quay.io/MYUSERNAME/centos:7
docker push quay.io/MYUSERNAME/centos:7
于 2021-04-21T15:27:17.793 回答