docker-machine连接到现有机器

kan*_*and 14 amazon-web-services docker docker-machine

我在AWS上托管了一个docker swarm,基本上是按照本教程的内容创建的.

要部署我们的代码,我需要能够访问我创建这些实例的计算机中的这个群.我没有在docker-machine amazonec2驱动程序的文档中看到任何可以使用我的AWS凭据连接到这些现有实例的驱动程序.

我遇到的一些教程使用--url参数来指定通过docker-machineurl连接到现有实例,但我在最近的docker-machine版本中没有看到该参数.

其他教程提到TLS配置并将其与docker-machine连接到现有实例结合使用,但是给定了独特/秘密的AWS凭证,这似乎是多余的,并且增加了一层复杂性,我希望我能避免.

建议的方法是什么?

无法连接:

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密钥...等待机器运行,这可能需要几分钟...检测创建实例的操作系统...等待使SSH可用...

mar*_*che 10

要访问现有实例,您可以使用该docker-machine create --driver generic命令。该命令将通过 ssh 连接到机器上,确保安装了 docker,然后下载它存储的证书以供将来访问,例如使用 docker-compose。

命令:

docker-machine create \
    --driver generic \
    --generic-ip-address=<your_ip> \
    --generic-ssh-key ~/.ssh/id_rsa \
    vm
Run Code Online (Sandbox Code Playgroud)

文档:https : //docs.docker.com/machine/drivers/generic/

  • 请记住,当您使用此命令时:“docker 守护进程将重新启动,因此所有正在运行的容器都将停止。” (8认同)
  • 您还需要确保您的 SSH 密钥不受密码保护,并且需要提供 --generic-ssh-user 您的用户名,除非您能够以 root 身份进行 SSH (2认同)