Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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
Google cloud platform 将图像从Docker注册表移动到GCR_Google Cloud Platform_Gcloud_Google Cloud Run - Fatal编程技术网

Google cloud platform 将图像从Docker注册表移动到GCR

Google cloud platform 将图像从Docker注册表移动到GCR,google-cloud-platform,gcloud,google-cloud-run,Google Cloud Platform,Gcloud,Google Cloud Run,Google cloud run不支持docker注册表,因此我必须手动拉取图像,标记它并将其推送到GCR 容器图像URL应与模式[region.]gcr.io/repo路径[:标记或@digest]匹配 有更简单的方法吗?遗憾的是,这是将Docker映像从一个容器注册表移动到另一个容器注册表的最简单方法 仅出于文档目的,为了社区的利益,我将添加以下步骤: 使用以下命令拉取Docker图像: docker pull[REPOSITORY-NAME]/[IMAGE]:[TAG] 然后,使用以下命令

Google cloud run不支持docker注册表,因此我必须手动拉取图像,标记它并将其推送到GCR

容器图像URL应与模式[region.]gcr.io/repo路径[:标记或@digest]匹配


有更简单的方法吗?

遗憾的是,这是将Docker映像从一个容器注册表移动到另一个容器注册表的最简单方法

仅出于文档目的,为了社区的利益,我将添加以下步骤:

使用以下命令拉取Docker图像: docker pull[REPOSITORY-NAME]/[IMAGE]:[TAG]

然后,使用以下命令标记该图像: docker标签[IMAGE]gcr.io/[PROJECT-ID]/[IMAGE]

使用以下命令将该映像推送到gcr存储库: docker push gcr.io/[PROJECT-ID]/[IMAGE]


遗憾的是,这是将Docker映像从一个容器注册表移动到另一个容器注册表的最简单方法

仅出于文档目的,为了社区的利益,我将添加以下步骤:

使用以下命令拉取Docker图像: docker pull[REPOSITORY-NAME]/[IMAGE]:[TAG]

然后,使用以下命令标记该图像: docker标签[IMAGE]gcr.io/[PROJECT-ID]/[IMAGE]

使用以下命令将该映像推送到gcr存储库: docker push gcr.io/[PROJECT-ID]/[IMAGE]


恐怕无论如何,简单一点也不会成为一件事。不过,您可以尝试使用调用一个简单的云函数pull、tag、push,以便在GCR中保持图像同步


似乎有一些项目需要处理类似的麻烦,但我没有尝试过…

我担心在任何情况下,更简单都不是一件事。不过,您可以尝试使用调用一个简单的云函数pull、tag、push,以便在GCR中保持图像同步


似乎有一些项目需要处理类似这样的麻烦,但我没有尝试它们…

我一直在开发一些支持此用例的工具。对于复制单个图像,命令为:

regctl image copy ${source} ${target}
e、 g

这将在复制前检查摘要,并发出HEAD请求,以允许频繁运行命令,但仅在上游映像与GCR上的映像不匹配时使用您的配额。它还复制了docker pull和docker push无法获得的多平台图像docker会在pull中将图像解引用到您的平台。与docker pull不同的是,仅当目标注册表中不存在单个层时,才会复制这些层

如果要连续镜像大量图像,还有一个regsync命令,它可以根据yaml文件进行复制,其中包含图像、标记和运行复制的计划列表


这些可以作为容器运行,但它们也可以作为独立的二进制文件使用,不需要docker运行。

我一直在开发一些支持此用例的工具。对于复制单个图像,命令为:

regctl image copy ${source} ${target}
e、 g

这将在复制前检查摘要,并发出HEAD请求,以允许频繁运行命令,但仅在上游映像与GCR上的映像不匹配时使用您的配额。它还复制了docker pull和docker push无法获得的多平台图像docker会在pull中将图像解引用到您的平台。与docker pull不同的是,仅当目标注册表中不存在单个层时,才会复制这些层

如果要连续镜像大量图像,还有一个regsync命令,它可以根据yaml文件进行复制,其中包含图像、标记和运行复制的计划列表


这些可以作为容器运行,但它们也可以作为独立的二进制文件使用,不需要docker来运行。

使用GCR开始,不要将docker用于云运行映像。唯一支持GCR的一个原因是Cloud Run实现了容器加载技术,在后台稀疏加载以减少容器启动时间。@约翰汉利我不是我试图运行的项目的维护者,项目的图像在docker hub中发布,所以我必须将其拉入,标记并推送到GCR,这是一项网络密集型任务。所以我想知道是否有更简单的方法将图像从dockerhub复制到GCR。我不知道有什么工具。我会使用Docker Hub Web挂钩和云运行。那么一切都是自动的。这需要您编写一些代码。互联网上可能有一些很好的例子。首先使用GCR,不要在云运行图像中使用Docker。唯一支持GCR的一个原因是Cloud Run实现了容器加载技术,在后台稀疏加载以减少容器启动时间。@约翰汉利我不是我试图运行的项目的维护者,项目的图像在docker hub中发布,所以我必须将其拉入,标记并推送到GCR,这是一项网络密集型任务。所以我想知道是否有更简单的方法将图像从dockerhub复制到GCR。我不知道有什么工具。我会
d使用Docker Hub Web挂钩和云运行。那么一切都是自动的。这需要您编写一些代码。互联网上可能有一些很好的例子。这是我目前正在使用的方法,但对多个图像执行此操作非常需要网络。这是我目前正在使用的方法,但对多个图像执行此操作非常需要网络。