Machine: 密钥对防止创建与刚刚删除的机器同名的机器

创建于 2015-02-27  ·  21评论  ·  资料来源: docker/machine

如果创建命令失败(在这种情况下,因为我忘记了 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。

areidentity aressh driveec2

最有用的评论

您可以在 AWS 控制台中删除密钥对。 “网络与安全”->“密钥对”->“删除”

所有21条评论

+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就是您要找的东西。

此页面是否有帮助?
0 / 5 - 0 等级