0

我試圖通過在我的docker-compose.yml文件中設置環境變量將我的AWS憑證從我的本地~/.aws/credentials文件注入到Docker容器中。如何將本地文件中的值讀入Docker-compose環境變量中?

但我不知道如何從本地文件讀取docker-compose文件的憑據。我該怎麼做??

這裏是我的AWS憑據文件看起來像:

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

這裏是我的我的碼頭工人組成文件的相關部分的樣子:

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?> 
+0

爲什麼不使用IAM角色? – zacdav

+0

即使我使用IAM角色,我也必須將本地的〜/ .aws/cli/cache/*。json文件複製到Dockerfile中的新圖像中,對嗎?這比我想要做的更容易嗎? –

+0

正如我理解它並且已經使用(承認有限的時間),我只是做了一個IAM角色,設置了角色的實例,就是這樣。我想這是假設你在EC2上運行。配置文件採取偏好,所以我甚至沒有任何在我的EC2上,因爲他們正在干涉。 – zacdav

回答

1

是否需要從你憑證文件?

您可以創建~/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 
相關問題