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