Amazon web services 为什么docker push仅在使用拉取图像标签时工作
我正在使用gcloud进行部署,我注意到了一种行为,我无法理解为什么会发生这种情况 假设存在一个docker映像xyz,那么我要做的第一件事就是拉动xyz,它会按预期工作 然后我通过docker标记redis gcr.io/project-name/redis给它添加了一个标记 现在出现了疑问,即…,我正在以这种方式进行docker push-> gcloud docker-push gcr.io/practice-192718/redis 然后它开始工作了 否则,如果我这样做-> gcloud docker-推送redis 它不起作用 你能帮我澄清这个疑问吗?还附上了更好的澄清图像Amazon web services 为什么docker push仅在使用拉取图像标签时工作,amazon-web-services,docker,containers,gcloud,Amazon Web Services,Docker,Containers,Gcloud,我正在使用gcloud进行部署,我注意到了一种行为,我无法理解为什么会发生这种情况 假设存在一个docker映像xyz,那么我要做的第一件事就是拉动xyz,它会按预期工作 然后我通过docker标记redis gcr.io/project-name/redis给它添加了一个标记 现在出现了疑问,即…,我正在以这种方式进行docker push-> gcloud docker-push gcr.io/practice-192718/redis 然后它开始工作了 否则,如果我这样做-> gcloud
问题在于,你试图向公众推出回购协议,而不是你自己的私人回购协议。运行gcloud pull时,您最有可能从承载大多数官方容器的hub.docker.com下载官方redis容器。Push使用相同的逻辑来确定您所谈论的回购协议。推送失败,因为您无权推送到官方redis存储库。以下命令gcloud docker-push redis没有从google容器注册表中提取图像。这是拉入,这是默认的docker注册表 默认情况下,如果图像未标记注册表url,docker将从dockerhub中拉/推该图像 要将图像推送到GCR,您需要使用GCR存储库url对其进行标记。这一点明确记录在: 在将Docker映像推送到任何私有注册表之前,需要使用注册表名标记该映像
后一个命令将推送到公共docker存储库。我肯定你没有权利这么做。