[更新]
为什么 gsutil 在 Cloud Shell 上的 docker 容器中运行时不使用 Gcloud 凭据?
根据 [1] gsutil 应在可用时使用 gcloud 凭据:
这似乎在 gcloud 安装中运行良好,但在 docker 镜像中不起作用。我在 Cloud Shell 中使用的流程是:
docker run -ti --name gcloud-config google/cloud-sdk gcloud auth login
docker run --rm -ti --volumes-from gcloud-config google/cloud-sdk gcloud compute instances list --project my_project
... (works ok)
docker run --rm -ti --volumes-from gcloud-config google/cloud-sdk gsutil ls gs://bucket/
ServiceException: 401 Anonymous caller does not have storage.objects.list access to bucket.
问候
凯文
[1] https://cloud.google.com/storage/docs/gsutil/addlhelp/CredentialTypesSupportingVariousUseCases
最佳答案
您需要使用您的凭据挂载一个卷:
docker run -v ~/.config/gcloud:/root/.config/gcloud your_docker_image
关于docker - 如何让 gsutil 在 docker 容器中使用 gcloud 凭据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50819816/