将docker容器授权为gcp身份验证用户

将docker容器授权为gcp身份验证用户,docker,authentication,google-cloud-platform,Docker,Authentication,Google Cloud Platform,我有一个docker容器,它要求用户使用gcloud进行身份验证 Me(作为主机)使用gcloud进行身份验证,但该身份验证不会传递到docker容器。如何确保docker容器使用主机的身份验证?例如,如果我要在VM引擎上运行容器,那么我希望它作为运行VM引擎的服务帐户进行身份验证 编辑 容器正在运行一个python应用程序,我希望能够以本地和交互方式处理该应用程序。也就是说,能够立即看到更改,并且应该可以使用PyCharm Pro IDE。如果您使用在计算引擎VM上运行容器,则Google凭据

我有一个docker容器,它要求用户使用
gcloud
进行身份验证

Me(作为主机)使用
gcloud
进行身份验证,但该身份验证不会传递到docker容器。如何确保docker容器使用主机的身份验证?例如,如果我要在VM引擎上运行容器,那么我希望它作为运行VM引擎的服务帐户进行身份验证

编辑
容器正在运行一个python应用程序,我希望能够以本地和交互方式处理该应用程序。也就是说,能够立即看到更改,并且应该可以使用PyCharm Pro IDE。

如果您使用在计算引擎VM上运行容器,则Google凭据(运行VM的服务帐户)将自动转发到容器。您能为您的用例切换到容器优化的操作系统吗?谢谢@norbjd。我确实可以切换到容器优化的操作系统,但我仍然希望在本地运行我的容器进行开发(请参见编辑)。您可以在本地运行容器,并在容器中提供
GOOGLE_应用程序_凭据
变量(
docker run-e GOOGLE_应用程序_凭据=/path/to/my/key.json[…])
)。确保容器中存在JSON密钥。您甚至不需要在本地运行容器,您可以直接运行Python应用程序(
Python myapp.py
),只要将
GOOGLE\u应用程序\u凭据设置为您的服务帐户密钥。1)使用
gcloud
进行身份验证时,这些凭据将不会转发到容器。这包括容器操作系统(COS)。这些凭证是专为SDK工具设计的。2) 不要在容器中存储服务帐户凭据。这是一场即将发生的安全灾难。3) 如果使用服务帐户JSON密钥文件,请使用docker mount命令使该文件在容器中可用,并指定
GOOGLE\u APPLICATION\u CREDENTIALS
环境变量以指向容器内的路径(由mount命令指定).4)建议:切换到运行容器OS的VM,并使用具有正确角色的计算引擎服务帐户。