拒绝容器访问gcloud凭据



我正在尝试实现将数据从HL7转换为FHIR的容器(https://github.com/GoogleCloudPlatform/healthcare/tree/master/ehr/hl7/message_converter/java)在谷歌云上。然而,我无法在我的机器上本地构建容器,以便稍后部署到云中。

当我尝试使用docker:本地旋转图像时,发生的错误总是在凭据的身份验证部分

docker run --network=host -v ~/.config:/root/.config hl7v2_to_fhir_converter 
/healthcare/bin/healthcare --fhirProjectId=<PROJECT_ID> --fhirLocationId=<LOCATION_ID> -- 
fhirDatasetId=<DATASET_ID> --fhirStoreId=<STORE_ID> --pubsubProjectId=<PUBSUB_PROJECT_ID> -- 
pubsubSubscription=<PUBSUB_SUBSCRIPTION_ID> --apiAddrPrefix=<API_ADDR_PREFIX>

我正在使用Windows,并且已经执行了以下命令来创建凭据:

gcloud auth application-default login

执行上述命令后,凭证保存在:中

C:UsersXXXXXXAppDataRoaminggcloudapplication_default_credentials.json

命令-v ~ / .config: /root/.config应该使docker能够在运行映像时搜索凭据,但它没有。出现的错误是:

The Application Default Credentials are not available. They are available if running in Google 
Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined 
pointing to a file defining the credentials. See 
https://developers.google.com/accounts/docs/application-default-credentials for more information.

我在犯什么错误?

谢谢,

容器与系统的其他部分隔离运行,这就是它的优势,这就是为什么这种打包方法如此流行的原因。

因此,如果您不将环境中的所有配置传递给容器运行时环境,例如GOOGLE_APPLICATION_CREDENTIALS env var.,那么环境中的全部配置都是无效的

我写了一篇关于这个的文章。如果有帮助,请告诉我,如果没有,我们将讨论阻塞点!

相关内容

  • 没有找到相关文章

最新更新