ora*_*rad 5 google-cloud-storage google-cloud-platform google-container-registry
当我尝试将容器映像推送到Container Registry时,出现以下错误,
拒绝:项目“ my-proj-123”的令牌交换失败。呼叫者没有权限“ storage.buckets.create”。要配置权限,请按照以下说明进行操作:https : //cloud.google.com/container-registry/docs/access-control
我必须遵循“ 存储桶名称验证”过程才能创建artifacts.my-proj-123.appspot.com存储桶。现在,当我尝试推送docker映像时,它不会抱怨storage.buckets.create权限,而只会给出:
拒绝:访问被拒绝。
我不知道需要授予哪个用户访问权限。我没有授予存储管理员访问Compute Engine默认服务帐户的权限。我该如何解决?
我能够将 Docker 映像从容器优化操作系统推送到容器注册表。
如果您遇到权限问题,我建议您至少为Compute Engine 默认服务帐户授予项目编辑器权限,仅用于测试目的。即使您只针对云存储,流程的其他部分也可能需要更多权限。完成测试后,您可以创建一个具有较少权限的新服务帐户,并根据您的需求对其进行微调。
此外,还有一种身份验证gcloud的替代方案。您可以按照以下方法尝试:
首先尝试使用以下命令下载 docker-credential-gcr:
VERSION=1.5.0
OS=linux # or "darwin" for OSX, "windows" for Windows.
ARCH=amd64 # or "386" for 32-bit OSs
curl -fsSL "https://github.com/GoogleCloudPlatform/docker-credential-gcr/releases/download/v${VERSION}/docker-credential-gcr_${OS}_${ARCH}-${VERSION}.tar.gz" \
| tar xz --to-stdout ./docker-credential-gcr \
> /usr/bin/docker-credential-gcr && chmod +x /usr/bin/docker-credential-gcr
Run Code Online (Sandbox Code Playgroud)之后执行docker-credential-gcr configure-docker
下载 Compute Engine 默认服务帐户json 密钥。
执行cat [your_service_account_credentials.json] | docker login -u _json_key --password-stdin https://[HOSTNAME]
| 归档时间: |
|
| 查看次数: |
1201 次 |
| 最近记录: |