如何在运行时将JSON传递给Docker容器?

mw3dktmi  于 2023-10-16  发布在  Docker
关注(0)|答案(2)|浏览(131)

我需要使用docker run作为环境变量传递GOOGLE_APPLICATION_CREDENTIALS

  • 我只在本地使用服务凭据进行分段。集装箱将被推到铁路。*
  • docker-compose.yaml* 不是选项。

docker run -it --rm --env-file ./.env test-file返回以下错误:
docker: poorly formatted environment: variable '"type": "service_account",' contains whitespaces.

示例.env

GOOGLE_APPLICATION_CREDENTIALS='{
  "type": "service_account",
  "project_id": "",
  "private_key_id": "",
  "private_key": "",
  "client_email": "",
  "client_id": "",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "",
  "universe_domain": "googleapis.com"
}'
bq3bfh9z

bq3bfh9z1#

也许您需要将包含该文件的卷装入容器。显示您可以从路径读取json文件。

oiopk7p5

oiopk7p52#

你可以试试这个:

docker run -it --rm -v path/to/your/key.json:/tmp/keys/key.json:ro -e GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/key.json yourimage

相关问题