我正在使用GCR(Google容器注册表)作为我的Docker镜像注册表,用于GKE(Google Kubernetes Engine)部署 . 我的渗透测试团队要求我从GCR获取Docker镜像供他们测试 .
我可以在本地创建Docker镜像,但这并不是他们所追求的 .
如何从GCR下载Docker镜像到我的电脑?
然后继续,我怎样才能复制Docker镜像并将其交给渗透测试团队 .
引用文档:
您可以通过安全的HTTPS endpoints 访问Container Registry,从而可以从任何系统,VM实例或您自己的硬件推送,提取和管理映像 . 此外,您可以使用Docker凭证帮助程序命令行工具将Docker配置为直接使用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]
请注意,您还可以决定创建一个公共图像并将其拉为仅运行经典图像:
$ 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
docker images
进一步的文件:Difference between save and export in Docker
1 回答
引用文档:
您可以检查here继续向一个或多个用户授予项目内部访问容器寄存器的权限的方法:
完成此操作后,您可以安装经典的Google Cloud SDK,并且在登录后,您应该可以对docker进行身份验证并拉动图像运行:
请注意,您还可以决定创建一个公共图像并将其拉为仅运行经典图像:
Step to Step指南显示了如何做到这一点 .
更新
由于您似乎有兴趣以良好的格式将其保存在本地磁盘上并将其交给其他团队,these是可能的步骤:
请注意,就我现在而言,只有在运行时才能保存图像
docker images
进一步的文件:Difference between save and export in Docker