Docker AWS can';无法读取凭据文件

Docker AWS can';无法读取凭据文件,docker,amazon-ec2,docker-machine,Docker,Amazon Ec2,Docker Machine,我正在AWS上使用Docker机器部署Flask应用程序。凭证文件位于~/.aws/中: [default] aws_access_key_id=AKIAJ<NOT_REAL>7TUVKNORFB2A aws_secret_access_key=M8G9Zei4B<NOT_REAL_EITHER>pcml1l7vzyedec8FkLWAYBSC7K region=eu-west-2 根据Docker docs的说法,这应该是可行的,但要获得这样的输出: Error se

我正在AWS上使用Docker机器部署Flask应用程序。
凭证
文件位于
~/.aws/
中:

[default]
aws_access_key_id=AKIAJ<NOT_REAL>7TUVKNORFB2A
aws_secret_access_key=M8G9Zei4B<NOT_REAL_EITHER>pcml1l7vzyedec8FkLWAYBSC7K
region=eu-west-2
根据Docker docs的说法,这应该是可行的,但要获得这样的输出:

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访问凭据文件

我该怎么办?

这里找到了解决方案


问题是将Docker作为快照运行(Ubuntu的repo),而不是Docker的正式构建。一旦我卸载了Docker snap并安装了正式构建,Docker就能够立即找到凭据文件。

我认为您需要将该文件放入~/.aws/credentials中,然后它就可以工作了。凭据文件位于~/.aws/中,~是当前用户的家。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