amazon-web-services - docker-machine 连接到现有机器

标签 amazon-web-services docker docker-machine

我有一个全部托管在 AWS 上的 docker swarm,基本上是按照 this tutorial 的行创建的.

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

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

其他教程提到了 TLS 配置并将其与 docker-machine 结合使用以连接到现有实例,但鉴于唯一/ secret 的 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 key ... 等待机器运行,这可能需要几分钟... 正在检测已创建实例的操作系统... 等待 SSH 可用...

最佳答案

要访问现有实例,您可以使用 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

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

关于amazon-web-services - docker-machine 连接到现有机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34847966/

相关文章:

amazon-web-services - 如何在 AWS API Gateway 中禁用 "Require authorization"的 "Per-key cache invalidation"

Django 从 docker 容器发送邮件

node.js - 子进程不会使用 PID nodejs、express、Docker 被杀死

node.js - 如何停止在docker中运行 Node

docker - 无需端口转发即可访问docker-machine VM端口

docker - 用docker机器指定docker引擎版本

dockerd vs docker-containerd vs docker-runc vs docker-containerd-ctr vs docker-containerd-shim

amazon-web-services - AWS Codebuild Terraform 提供商

amazon-web-services - 使用跨账户 KMS CMK 创建 AWS Secret Manager

amazon-web-services - 在同一个 lambda 函数中访问来自不同帐户的两个表