如何在 Google Container Registry (GCR) 中创建 public 映像?

How do I create a public image in Google Container Registry (GCR)?

我使用 GCR 来存储我团队的私有 docker 注册表。我有一张 docker 图片,我想让它 public 只可见,以便多个项目可以使用它/与客户分享/等等。

如何在 Google 的 Container Registry 中制作 docker 图像 public?

1) 创建一个空的云项目来存放 public 注册表

2) 将某些内容推送到注册表(以便创建存储桶)

docker push gcr.io/{PROJECT_NAME}/{IMAGE_NAME}

3) 使桶中所有未来的对象 public:

gsutil defacl ch -u AllUsers:R gs://artifacts.{PROJECT_NAME}.appspot.com

4) 使桶中的所有当前对象public(例如,您刚刚推送的图像):

gsutil acl ch -r -u AllUsers:R gs://artifacts.{PROJECT_NAME}.appspot.com

5) 使桶本身 public(不由 -r 处理!):

gsutil acl ch -u AllUsers:R gs://artifacts.{PROJECT_NAME}.appspot.com

6) 根据需要上传更多图片

感谢 How do you make many files public in Google Cloud Storage? 在这里提供一些面包屑。

Google Cloud Registry (GCR) 现在允许您通过控制台轻松执行此操作。单击左侧面板上的 "Settings",然后将可见性更改为 Public。