我使用 docker 提供的 cloudformation 模板在 AWS 上安装了 docker swarm 集群。 (最新版本)
如何使用 docker machine 连接到其中一个集群管理器?
我已经尝试使用带有所有可能参数的 docker machine AWS 驱动程序,但我无法连接。
还尝试使用 docker machine general driver ,它返回“os not supported”。
任何帮助将不胜感激 ,
尝试连接的步骤:
puttygen my-key.pem -L > id_rsa
docker-machine create --driver generic --generic-ip-address=ec2-....compute.amazonaws.com --generic-ssh-key id_rsa Swarm-Dev01
运行预创建检查... 正在创建机器... (Swarm-Dev01) 正在导入 SSH key ... 等待机器运行,这可能需要几分钟... 正在检测创建实例的操作系统... 等待SSH 可用...
最佳答案
它实际上非常简单。步骤:-
[ec2-user@ip-xx ~]$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
somehost - amazonec2 Running tcp://xx.xx.xx.xx:2376 v17.07.0-ce
然后得到我做的关键路径: -
[ec2-user@ip-xx.xx.xx.xx ~]$ docker-machine inspect somehost
{
"ConfigVersion": 3,
"Driver": {
"IPAddress": "xx.xx.xx.xx",
"MachineName": "somehost",
"SSHUser": "ubuntu",
"SSHPort": 22,
"SSHKeyPath": "/home/ec2-user/.docker/machine/machines/somehost/id_rsa",
"StorePath": "/home/ec2-user/.docker/machine",
"SwarmMaster": false,
私钥路径在 SSHKeyPath 中。在我的示例中,将私钥复制到您要连接的另一台机器上,使用带有 docker-machine 的 ec2-instance 将主机启动到另一个 ec2-instance,所以如果我想复制 key ,我只需使用
scp
即我会像这样复制它:
jimmy@jimmy-Lenovo-G570:~/$ scp -r -i docker-machine-instance.pem ec2-user@xx.xx.xx.xx.us-east-2.compute.amazonaws.com:/home/ec2-user/.docker/machine/machines/somehost/id_rsa /home/docker-machine-aws
docker-machine create --driver generic \
--generic-ip-address xx.xx.xx.xx \
--generic-ssh-user ubuntu \
--generic-ssh-key /home/docker-machine-aws/id_rsa \
somehost-2
像魅力一样工作!
关于Docker-machine 连接到现有的 AWS 机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45658541/