Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 为什么docker push仅在使用拉取图像标签时工作_Amazon Web Services_Docker_Containers_Gcloud - Fatal编程技术网

Amazon web services 为什么docker push仅在使用拉取图像标签时工作

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进行部署,我注意到了一种行为,我无法理解为什么会发生这种情况

假设存在一个docker映像xyz,那么我要做的第一件事就是拉动xyz,它会按预期工作

然后我通过docker标记redis gcr.io/project-name/redis给它添加了一个标记

现在出现了疑问,即…,我正在以这种方式进行docker push->

gcloud docker-push gcr.io/practice-192718/redis

然后它开始工作了

否则,如果我这样做->

gcloud docker-推送redis

它不起作用

你能帮我澄清这个疑问吗?还附上了更好的澄清图像


问题在于,你试图向公众推出回购协议,而不是你自己的私人回购协议。运行gcloud pull时,您最有可能从承载大多数官方容器的hub.docker.com下载官方redis容器。Push使用相同的逻辑来确定您所谈论的回购协议。推送失败,因为您无权推送到官方redis存储库。

以下命令gcloud docker-push redis没有从google容器注册表中提取图像。这是拉入,这是默认的docker注册表

默认情况下,如果图像未标记注册表url,docker将从dockerhub中拉/推该图像

要将图像推送到GCR,您需要使用GCR存储库url对其进行标记。这一点明确记录在:

在将Docker映像推送到任何私有注册表之前,需要使用注册表名标记该映像


后一个命令将推送到公共docker存储库。我肯定你没有权利这么做。