【发布时间】:2018-10-24 20:03:23
【问题描述】:
我正在尝试将 docker-machine 与托管在 amazon aws 上的 docker 实例一起使用。
我运行以下命令:
$ sudo docker-machine create --driver generic --generic-ip-address={EC2 IP} --generic-ssh-key ~/.ssh/id_rsa dockeraws
Running pre-create checks...
Creating machine...
(dockering) Importing SSH key...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Error creating machine: Error detecting OS: Too many retries waiting for SSH to be available. Last error: Maximum number of retries (60) exceeded
但它停留在“等待 SSH 可用...”上,我不知道为什么。
我还打开了端口“22”和“2376”,但仍然无法正常工作。
就我而言,我使用的是此处 docker 页面上所述的模板 -> https://docs.docker.com/docker-for-aws/
【问题讨论】:
-
你能手动ssh吗?
ssh -i ~/.ssh/id_rsa ${EC2_USER}@${EC2_IP}?需要通过--generic-ssh-user吗? -
@leodotcloud 发现手动也行不通。对于 ssh 访问,我使用的是 '.pem' 文件而不是 '~/.ssh/id_rsa' 但是如果我将 pem 文件添加到命令中,它会自动在文件末尾添加一个 .pub ,因此 cli 可以找不到文件,因为它只是“.pem”而不是“.pem.pub”。
-
语法:ssh -i ~/.ssh/some-private-key.pem ${EC2_USER}@${EC2_IP} 如果从命令行执行,则不应将 pub 附加到密钥名称。你能仔细检查一下私钥文件确实是在适当的权限下正确命名的吗?
-
@Const 没有与 ssh 的连接。如果我将 pem 文件添加到“docker-machine create”命令中,它会添加一个“.pub”结尾。
-
我只有在创建 docker 实例后从 aws 下载的 pem 文件..
标签: amazon-web-services docker amazon-ec2 docker-machine