Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.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
Docker 如何在gcloud gcr.io中提供对特定映像的访问?_Docker_Google Cloud Storage_Gcloud_Docker Registry_Google Iam - Fatal编程技术网

Docker 如何在gcloud gcr.io中提供对特定映像的访问?

Docker 如何在gcloud gcr.io中提供对特定映像的访问?,docker,google-cloud-storage,gcloud,docker-registry,google-iam,Docker,Google Cloud Storage,Gcloud,Docker Registry,Google Iam,我已经创建了名为us.gcr.io/my-project/my-image的docker映像,我想创建一个服务帐户,该帐户将有权仅拉和推此特定docker映像 据我所知,我需要提供对存储所有图像的整个存储桶的访问。是否可以在不创建新的google项目的情况下设置特定图像的权限?这是我现在看到的唯一方法?您可以向bucket中的特定图像对象提供服务帐户的权限,这可以通过,您必须提供您所指URL上引用的权限: 用于推式读写 storage.bucket.create storage.bucket.d

我已经创建了名为us.gcr.io/my-project/my-image的docker映像,我想创建一个服务帐户,该帐户将有权仅拉和推此特定docker映像


据我所知,我需要提供对存储所有图像的整个存储桶的访问。是否可以在不创建新的google项目的情况下设置特定图像的权限?这是我现在看到的唯一方法?

您可以向bucket中的特定图像对象提供服务帐户的权限,这可以通过,您必须提供您所指URL上引用的权限:

用于推式读写

storage.bucket.create storage.bucket.delete 存储 存储.bucket.list storage.bucket.update storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.update 只读拉

storage.objects.get storage.objects.list 由于我假设您已经创建了bucket,您可以通过以下步骤将默认的统一权限转换为细粒度:

在Google云控制台中打开云存储浏览器。 单击Bucket overflow(桶溢出)菜单,该菜单具有三个垂直对齐的点,与要授予成员角色的桶关联。 选择编辑存储桶权限。 如果打开的右菜单显示“统一:未启用对象级ACL”,请单击“切换到细粒度”,然后在打开的弹出窗口中选择“细粒度”,然后单击“保存”。
尝试在创建bucket后的90天内执行此操作,否则将永久保留统一权限,您将需要创建一个新bucket。

您可以通过,您必须授予所指向URL上引用的权限:

用于推式读写

storage.bucket.create storage.bucket.delete 存储 存储.bucket.list storage.bucket.update storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.update 只读拉

storage.objects.get storage.objects.list 由于我假设您已经创建了bucket,您可以通过以下步骤将默认的统一权限转换为细粒度:

在Google云控制台中打开云存储浏览器。 单击Bucket overflow(桶溢出)菜单,该菜单具有三个垂直对齐的点,与要授予成员角色的桶关联。 选择编辑存储桶权限。 如果打开的右菜单显示“统一:未启用对象级ACL”,请单击“切换到细粒度”,然后在打开的弹出窗口中选择“细粒度”,然后单击“保存”。
尝试在创建bucket后90天内完成此操作,否则统一权限将永久失效,您需要创建一个新bucket。

您不能直接使用Google容器注册表完成此操作。如果向服务帐户提供存储对象查看器角色,则它可以查看所有容器注册表中的所有图像

然而,你可以用它来做。为此

创建一个新的存储库 选择存储库并单击“添加成员” 添加您的服务帐户和角色工件库读取器 然后你可以访问你的图像,或者把它推到这个路径

<location>-docker.pkg.dev/<ProjectId>/<RepositoryName>/<ImageName>

你不能直接用谷歌容器注册中心来做。如果向服务帐户提供存储对象查看器角色,则它可以查看所有容器注册表中的所有图像

然而,你可以用它来做。为此

创建一个新的存储库 选择存储库并单击“添加成员” 添加您的服务帐户和角色工件库读取器 然后你可以访问你的图像,或者把它推到这个路径

<location>-docker.pkg.dev/<ProjectId>/<RepositoryName>/<ImageName>

bucket中仅存储具有sha256名称的docker层。因此,如果可能的话,很难提供对读取图像的细粒度访问。每次推送到注册表时,它都需要更新策略n。bucket中只存储具有sha256名称的docker层。因此,如果可能的话,很难提供对读取图像的细粒度访问。并且每次推送到注册表时都需要更新策略n。