簡體   English   中英

如何從本地文件讀取值到Docker-compose環境變量?

[英]How to read values from local file into Docker-compose environment variables?

我正在嘗試通過在docker-compose.yml文件中設置環境變量,將我的AWS憑證從我的本地~/.aws/credentials文件注入Docker容器。

但我不知道如何將本地文件中的憑據讀入docker-compose文件。 我該怎么做??

以下是我的AWS憑證文件的樣子:

$ cat ~/.aws/credentials
[default]
aws_access_key_id = AK_FAKE_KEY_88RD3PNY
aws_secret_access_key = BividQsWW_FAKE_KEY_MuB5VAAsQNJtSxQQyDY2C

以下是我的Docker撰寫文件的相關部分:

  my_service:
    build: .
    image: my_image
    environment:
         - AWS_ACCESS_KEY_ID=<What should I put here?>
         - AWS_SECRET_ACCESS_KEY=<What should I put here?>

它需要來自您的憑證文件嗎?

你可以創建包含的~/aws_env_creds

AWS_ACCESS_KEY_ID=AK_FAKE_KEY_88RD3PNY
AWS_SECRET_ACCESS_KEY=BividQsWW_FAKE_KEY_MuB5VAAsQNJtSxQQyDY2C

然后

my_service:
  build: .
  image: my_image
  env_file:
    - ~/aws_env_creds

恕我直言,一般來說,在docker-compose.yml主目錄進行硬編碼並不是一個好主意,它對其他人來說不是可移植的。 我不反對擁有〜/ .aws /憑證,因為這是一個每個人都會遵循的慣例

my_service:
    build: .
    image: my_image
    environment:
         - AWS_ACCESS_KEY_ID
         - AWS_SECRET_ACCESS_KEY
    volumes:
         - ~/.aws:/root/.aws:ro

這個docker-compose.yml將足夠靈活,它取決於機器的設置,將使用憑證文件或環境變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM