如何从主机工作站获取aws凭证,在docker容器内



我正试图将我的AWS凭证放入我的Docker容器中,以便在本地(用于开发)上使用。我找到了这篇文章,https://cameroneckelberry.co/words/getting-aws-credentials-into-a-docker-container-without-hardcoding-it,但是我不知道如何"创建一个AWS shell脚本"。或者-profile是什么。我的系统里没有。是的,我确实安装了AWS CLI,并将我的AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY放入我的.env文件中。我也把我的凭据按要求放入$home/.aws/credentials,但看不出这对环境变量有什么影响。摘自文章:

运行$ aws帮助我们看到有一个-profile参数。利用这样,我们就可以编写一个shell脚本,将我们的凭据放入码头工人容器。

AWS_ACCESS_KEY_ID=$(aws——profile default configure getaws_access_key_id) AWS_SECRET_ACCESS_KEY=$(aws——profile default .配置get aws_secret_access_key)

docker build -t my_app。Docker运行它——rm -eAWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -eAWS_SECRET_ACCESS_KEY = $ AWS_SECRET_ACCESS_KEY

如果有人能像对孩子说话一样准确地解释一下该怎么做,我会很感激的。

我认为最简单的方法是在AWS展示如何将本地容器与AWS服务(例如本地AWS Glue)一起使用时,按照AWS正在做的做。即它们共享只读中的~/.aws/

:
-v ~/.aws:/root/.aws:ro

显然你必须调整上面的路径来匹配你的本地和docker设置。因此,您的docker命令可以是:

docker run -it --rm -v ~/.aws:/root/.aws:ro <name-of-image-to-run>

另一种方法是使用docker环境变量传递AWS凭证,您已经在尝试了。

关于--profile。您的~/.aws可以有多个配置文件,例如针对不同的AWS帐户。使用--profile指定要使用的配置文件。

最新更新