我在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来访问这些环境变量。