从 GCR(Google Container Registry)导出 Docker 图像

Export Docker image from GCR (Google Container Registry)

我使用 GCR(Google 容器注册表)作为我的 Docker 镜像注册表,用于 GKE(Google Kubernetes 引擎)部署。我的渗透测试团队要求我将来自 GCR 的 Docker 图像提供给他们进行测试。

我可以在本地创建 Docker 图像,但这并不是他们想要的。

如何将 Docker 图像从 GCR 下载到我的 PC?

接下来,我该如何复制 Docker 图像并将其交给渗透测试团队。

引用文档:

You can access Container Registry through secure HTTPS endpoints, which allow you to push, pull, and manage images from any system, VM instance, or your own hardware. Additionally, you can use the Docker credential helper command-line tool to configure Docker to authenticate directly with Container Registry.

您可以查看here如何继续向一个或多个用户授予项目内访问容器寄存器的权限:

Pull (Read Only)    
roles/storage.objectViewer  Storage Object Viewer :    
 - storage.objects.get
 - storage.objects.list

完成此操作后,您可以安装经典的 google Cloud SDK 并登录,您应该能够验证 docker 并拉取图像 运行:

  $ gcloud auth configure-docker
  $ docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE][:TAG]

请注意,您还可以决定创建一个映像 public 并将其拉取 运行 只有经典的:

  $ docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE][:TAG]

Step to Step 显示操作方法的指南。

更新

由于您似乎有兴趣以良好的格式将其保存在本地磁盘上并将其移交给其他团队,these 可能的步骤如下:

$ gcloud auth configure-docker
$ docker pull [HOSTNAME]/[PROJECT-ID]/[IMAGE][:TAG]
$ docker save IMAGENAME:TAG -o FILENAME.tar

请注意,就我现在而言,只有图像存在时才可以保存图像 运行 docker images

更多文档:Difference between save and export in Docker