如何将本地文件中的值读入Docker-compose环境变量中?
问题描述:
我试图通过在我的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?>
答
是否需要从你凭证文件?
您可以创建~/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
为什么不使用IAM角色? – zacdav
即使我使用IAM角色,我也必须将本地的〜/ .aws/cli/cache/*。json文件复制到Dockerfile中的新图像中,对吗?这比我想要做的更容易吗? –
正如我理解它并且已经使用(承认有限的时间),我只是做了一个IAM角色,设置了角色的实例,就是这样。我想这是假设你在EC2上运行。配置文件采取偏好,所以我甚至没有任何在我的EC2上,因为他们正在干涉。 – zacdav