作者:ds87vdsa | 来源:互联网 | 2023-01-29 03:36
作为构建我的docker容器的过程的一部分,我需要从s3存储桶中提取一些文件,但是我现在仍然保持这种情况,fatal error: Unable to locate credentials
因为我现在将凭据设置为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读取).
1> Frédéric Hen..:
环境变量的名称是 AWS_ACCESS_KEY_ID
vsAWS_ACCESS_KEY
您可以查看亚马逊文档的完整列表
AWS CLI支持以下变量
AWS_ACCESS_KEY_ID
– AWS访问密钥。
AWS_SECRET_ACCESS_KEY
– AWS密钥。访问和密钥变量将覆盖存储在凭证和配置文件中的凭证。
AWS_SESSION_TOKEN
–会话令牌。仅当您使用临时安全凭证时,才需要会话令牌。
AWS_DEFAULT_REGION
– AWS区域。如果设置了此变量,它将覆盖使用中配置文件的默认区域。
AWS_DEFAULT_PROFILE
–要使用的CLI配置文件的名称。这可以是存储在凭证或配置文件中的配置文件的名称,也可以是默认使用默认配置文件的配置文件的名称。
AWS_CONFIG_FILE
– CLI配置文件的路径。