作为构建我的docker容器的过程的一部分,我需要从s3存储桶中提取一些文件,但是我一直都会遇到致命的错误:即使现在我将凭据设置为ENV vars也无法找到凭据(尽管我想知道一个更好的方法来做到这一点)
因此,在构建容器时,我会运行
docker build -t my-container --build-arg AWS_DEFAULT_REGION="region" --build-arg AWS_ACCESS_KEY="key" --build-arg AWS_SECRET_ACCESS_KEY="key" . --squash
在我的Dockerfile中我有
ARG AWS_DEFAULT_REGION
ENV AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION
ARG AWS_ACCESS_KEY
ENV AWS_ACCESS_KEY=$AWS_ACCESS_KEY
ARG AWS_SECRET_ACCESS_KEY
ENV AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY
RUN /bin/bash -l -c "aws s3 cp s3://path/to/folder/ /my/folder --recursive"
有谁知道我怎么解决这个问题(我知道有一个选项可以添加配置文件,但这似乎是一个不必要的额外步骤,因为我应该能够从ENV读取).
您可以查看amazon doc的完整列表
The following variables are supported by the AWS CLI
AWS_ACCESS_KEY_ID
– AWS access key.
AWS_SECRET_ACCESS_KEY
– AWS secret key. Access and secret key
variables override credentials stored in credential and config files.
AWS_SESSION_TOKEN
– session token. A session token is only required if
you are using temporary security credentials.
AWS_DEFAULT_REGION
– AWS region. This variable overrides the default
region of the in-use profile,if set.
AWS_DEFAULT_PROFILE
– name of the CLI profile to use. This can be the
name of a profile stored in a credential or config file,or default to
use the default profile.
AWS_CONFIG_FILE
– path to a CLI config file.