【问题标题】:AWS can't read the credentials fileAWS 无法读取凭证文件
【发布时间】: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


【解决方案1】:

在这里找到解决方案https://www.digitalocean.com/community/questions/ssh-not-available-when-creating-docker-machine-through-digitalocean

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-15
    • 2018-03-28
    • 2018-09-23
    • 2019-02-23
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多