我在 Amazon EC2 上运行 docker-container。目前我已将 AWS 凭证添加到 Dockerfile。你能告诉我最好的方法吗?
最好的方法是使用 IAM 角色并且根本不处理凭证。(请参阅http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles- for-amazon-ec2.html)
可以从中检索凭证http://169.254.169.254..... 因为这是一个私有 IP 地址,它只能从 EC2 实例中访问。
http://169.254.169.254.....
所有现代 AWS 客户端库都“知道”如何从那里获取、刷新和使用凭证。所以在大多数情况下,你甚至不需要知道它。只需使用正确的 IAM 角色运行 ec2 即可。
作为一个选项,您可以在运行时将它们作为环境变量(即docker run -e AWS_ACCESS_KEY_ID=xyz -e AWS_SECRET_ACCESS_KEY=aaa myimage)传递
docker run -e AWS_ACCESS_KEY_ID=xyz -e AWS_SECRET_ACCESS_KEY=aaa myimage
您可以通过在终端运行 printenv 来访问这些环境变量。