【发布时间】:2019-10-15 20:47:18
【问题描述】:
我正在使用 AWS 上的 Docker Machine 部署 Flask 应用程序。 credentials文件位于~/.aws/:
[default]
aws_access_key_id=AKIAJ<NOT_REAL>7TUVKNORFB2A
aws_secret_access_key=M8G9Zei4B<NOT_REAL_EITHER>pcml1l7vzyedec8FkLWAYBSC7K
region=eu-west-2
运行如下:
docker-machine create --driver amazonec2 --amazonec2-open-port 5001 sandbox
根据 Docker 文档,这应该可以工作,但会得到这个输出:
Error setting machine configuration from flags provided: amazonec2 driver requires AWS credentials configured with the --amazonec2-access-key and --amazonec2-secret-key options, environment variables, ~/.aws/credentials, or an instance role
在你问之前,是的,我以允许 Docker 访问凭据文件的方式设置权限。
我该怎么办?
【问题讨论】:
-
我认为您需要将文件放在 ~/.aws/credentials 中然后它应该可以工作。
-
凭证文件位于 ~/.aws/
-
嗯 ~ 是当前用户的 HOME。 Docker 可能正在使用另一个用户,并且在他的家中没有凭据文件。最好使用完整路径。
-
我使用了凭证文件中的详细信息并通过命令行执行它们,现在实例已创建并运行。这不是一个真正的解决方案,但我让实例运行,这在一天结束时很重要。但我仍然想知道为什么没有从凭证文件中提取详细信息。
标签: docker amazon-ec2 docker-machine