Deployment 如何将Docker计算机连接到远程Docker VirtualBox

Deployment 如何将Docker计算机连接到远程Docker VirtualBox,deployment,docker,remote-access,boot2docker,Deployment,Docker,Remote Access,Boot2docker,我正在尝试使用Docker Machine连接到不同主机上的Docker VirtualBox VM。在我的本地主机上,安装是成功的,包括安装Busybox和从名为“dev”的VM回显“hello world”的示例,如下所示: $docker$(docker机器配置开发)运行busybox echo hello world 我可以用Docker Machine创建我喜欢的任意多个可比较的本地Docker VirtualBox虚拟机,并且结果类似 现在,我想使用我的本地Docker机器执行同样的

我正在尝试使用Docker Machine连接到不同主机上的Docker VirtualBox VM。在我的本地主机上,安装是成功的,包括安装Busybox和从名为“dev”的VM回显“hello world”的示例,如下所示:

$docker$(docker机器配置开发)运行busybox echo hello world

我可以用Docker Machine创建我喜欢的任意多个可比较的本地Docker VirtualBox虚拟机,并且结果类似


现在,我想使用我的本地Docker机器执行同样的操作,并在我安装Docker机器和Boot2Docker的不同物理主机上执行Docker命令。换句话说:我希望使用本地Docker Machine CLI和远程命令,例如,在不同的主机上提取图像并运行容器。这有可能吗?如果有,怎么做?

这是不可能的。要使本地计算机安装能够连接到计算机,必须是创建该计算机的安装,以便它能够跟踪TLS证书和其他连接详细信息

VBox驱动程序将在本地主机上使用。而像digitalocean这样的驱动程序意味着在digitalocean上创建一个VM,您可以在其中运行容器

如果您真的想让它工作,您可以尝试创建一个包装器,它使用SSH在另一台计算机上执行命令,而不是您运气不好

机器拟用作docker主机供应器。它创建了准备好运行docker容器的服务器。

我刚刚用dind(docker in docker)测试过 因此,您只需在主机中运行以下操作: Docker主机IP:172.17.42.1

  • docker run--rm swarm创建#获取群集id
  • docker运行--特权-d-p 1234:1234-e端口=1234 jpetazzo/dind
  • docker-Htcp://DOCKER_HOST:1234 运行-d swarm join--addr=DOCKER\u主机:1234token://cluster_id
  • 您可以通过以下方式创建另一个节点:

  • docker运行--特权-d-p 1235:1235-e PORT=1235 jpetazzo/dind
  • docker-Htcp://DOCKER_HOST:1235 运行-d swarm join--addr=DOCKER\u主机:1235token://cluster_id

  • docker run-d-p 2375:2375群集管理token://cluster_id

  • 检查一下,一切都好吗 docker-Htcp://DOCKER_HOST:2375 信息


    如果您看到2个容器,您将成功创建swarm群集和docker计算机作为docker容器。

    为了支持这种远程资源调配方案,docker swarm是否支持该方案?swarm是一个虚拟接口,它将在多个docker主机之间委派您的docker命令,您可以对任何docker主机运行它,如果它运行在digitalocean、EC2或VBox上,只要swarm能够连接,就没有区别,那么普通docker客户端也是如此。因此,如果您在TCP套接字上发布docker守护程序,您可以使用笔记本电脑或swarm连接到它。感谢您的反思。我使用Docker Machine在不同的“minion”主机上创建了一个Docker VM,并从VirtualBox向安全Docker端口(2376)转发了一个端口。我将Docker计算机凭据(.client.pem文件)复制到“manager”主机。似乎我现在可以远程访问Docker环境,包括凭据作为参数并执行远程命令。