如果创建命令失败(在这种情况下,因为我忘记了 vpc-id 标志)并且我删除了失败的图像,我无法创建一个具有相同名称的新图像,因为密钥对没有被删除:
$ docker-machine rm -f demo
$ docker-machine create --driver=amazonec2 --amazonec2-vpc-id=vpc-foo demo
INFO[0000] Creating CA: /Users/dan/.docker/machine/certs/ca.pem
INFO[0001] Creating client certificate: /Users/dan/.docker/machine/certs/cert.pem
ERRO[0003] Error creating machine: There is already a keypair with the name demo. Please either remove that keypair or use a different machine name.
似乎rm -f
应该删除关联的密钥对。
相关:#119。
+1
错误消息指出如何删除这样的密钥对也/同时有用 - 即使docker-machine ls
没有显示任何机器,并且docker -h
没有显示任何机器,我也会收到此错误建议删除此密钥对记录的任何其他方式。
我也遇到过这个。 有谁知道这些密钥对是在哪里创建的? 我在机器存储路径和我的主目录中环顾四周,结果是空的。
好的,现在我明白了。 这是 EC2 中的“密钥对”,而不是本地存储的任何内容。 我能够在 EC2 管理控制台中删除它们,现在一切都很好。
+1 @道格堡
能够通过 --amazonec2-keypair-name=whatever 来重用现有的密钥对也很有帮助。
:+1: 刚刚遇到这个——在一个小组中工作——我们有一个我们正在共享的密钥对。
+1 我今天也遇到了。
:+1:
+1 也是如此。 就我而言,它告诉我这一点,即使在 AWS 控制台中执行aws describe-key-pairs
_and_ 时,密钥对甚至都不存在。 调试模式下的一些更详细的信息也会在这里有所帮助。
+1
+:1 --amazonec2-keypair-name
+1
+1 为 --amazonec2-keypair-name
您可以在 AWS 控制台中删除密钥对。 “网络与安全”->“密钥对”->“删除”
+1 用于密钥对名称选项
--amazonec2-keypair-name
👍
我也一直遇到这个问题。 我们的自动化 docker 机器创建脚本经常失败并留下现有的密钥对,然后导致更多需要人工干预才能修复的故障。
此错误未完全修复。 无用的错误消息仍然存在。
它应该是:
Use aws ec2 delete-key-pair --key-name {{.Host}}
删除。
我刚刚在 1.5.3 上也看到了这个问题。 就我而言,控制台没有显示具有相关名称的密钥对,也没有显示aws ec2 describe-key-pairs
。 也就是说, aws ec2 delete-key-pair --key-name xyz
确实有效,尽管它们不可见......
为每个新实例创建一个密钥对是一个丑陋的组合,这就是导致潜在问题的原因。 真正使用现有的密钥对_没有_重复是真正的解决方案。 当与_that_ 被实施。
简单地说“从 aws 手动删除密钥对”可能是一种解决方法,但这不是解决方案。 集群应该如何使用它? 那不会扩展。
@m-dunbar --amazonec2-keypair-name
就是您要找的东西。
最有用的评论
您可以在 AWS 控制台中删除密钥对。 “网络与安全”->“密钥对”->“删除”