gpt4 book ai didi

amazon-web-services - Dockerfile中的AWS凭证

转载 作者:行者123 更新时间:2023-12-04 15:17:38 24 4
gpt4 key购买 nike

我需要在容器构建期间从AWS S3下载文件,但是我没有向构建过程提供AWS凭证但没有在Dockerfile中实际对其进行硬编码的尝试。我得到了错误:

docker fatal error: Unable to locate credentials



尽管以前执行过:

aws configure



而且,我不能为此目的使用--build-arg。

我的问题:是否可以在构建时将这些凭证 包含在中,而无需在Dockerfile中对其进行硬编码,如果可以,怎么办?

感谢您的关注。

最佳答案

如果您不介意每个人都可以使用--build-arg看到值,则使用docker history标志是正确的方法,但是必须在Dockerfile中使用ARG指令而不是ENV指令来指定它们。
这是我与AWS凭证一起使用的示例Dockerfile。它以aws凭证作为构建参数,包括AWS_REGION构建参数的默认参数。然后,它执行基本的aws操作,在这种情况下,登录到ecr。

FROM <base-image>:latest # an image I have that has `aws` installed

ARG AWS_ACCESS_KEY_ID
ARG AWS_SECRET_ACCESS_KEY
ARG AWS_REGION=us-west-2

RUN aws ecr get-login --no-include-email | bash

CMD ["npm", "start"]
然后,使用以下命令构建镜像:
docker build -t testing --build-arg AWS_ACCESS_KEY_ID=<Your ID Here> \
--build-arg AWS_SECRET_ACCESS_KEY=<Your Key Here> .
请注意,以后使用 --build-arg的任何人都可以看到 docker history参数的值。

关于amazon-web-services - Dockerfile中的AWS凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51824671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com