【发布时间】:2020-07-08 07:51:02
【问题描述】:
我有一个 django 项目,我正尝试在 aws 中部署,我正在使用参数存储来存储我的密钥,所以我需要传递 aws 凭据和区域,否则每次我想要时都会出错要创建缺少 aws 凭据的 docker 映像,我尝试使用 setx variable value 将这些凭据作为 Windows env 变量传递,当我在 cmd 上运行 echo %variable% 时,我能够获得正确的值,我添加了这个到docker文件
ENV AWS_ACCESS_KEY_ID ${AWS_ACCESS_KEY_ID}
ENV AWS_SECRET_ACCESS_KEY ${AWS_SECRET_ACCESS_KEY}
ENV AWS_DEFAULT_REGION ${AWS_DEFAULT_REGION}
我总是遇到同样的错误,所以我添加了这个 cmd 来打印创建图像时容器中的变量
Run printenv
我得到的逻辑输出是三个变量是空的,所以我假设 docker 文件没有访问这些变量,我不知道这是否是权限问题,或者是否有人得到了与我相同的错误,
我也将这些值传递给 docker-compose 文件
environment:
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}
但是 dockerfile 在这两种情况下都没有获取变量值。
非常感谢任何帮助。
【问题讨论】:
-
如何构建或运行容器?以及为什么在可以使用角色的情况下需要容器中的 AWS 密钥?
-
我正在使用 docker-compose up -d 构建容器,我该如何使用角色?
标签: django amazon-web-services docker