[英]Passing environment variables to `docker-compose` when using ecs context
[英]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.