如何将Docker Machine连接到远程Docker VirtualBox

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

$ docker $(docker-machine config dev)运行busybox echo hello world

我可以使用Docker Machine创build许多类似的本地Docker VirtualBox虚拟机,其结果是类似的成功。

现在我想用我的本地Docker Machine来做同样的事情,并且在我安装Docker Machine和Boot2Docker的不同物理主机上执行docker命令。 换句话说:我想使用我的本地Docker Machine CLI和远程命令来例如拉取一个映像,并在不同的主机上运行一个容器。 这是可能的,如果是这样,怎么样?

这是不能做到的。 为了让本地机器安装能够连接到机器,它必须是创build该机器的机器,以便跟踪TLS证书和其他连接细节。

VBox驱动程序是为了在你的本地主机上使用。 像digitalocean这样的驱动程序是为了在digitalocean上创build一个可运行容器的虚拟机。

如果你真的希望得到这个工作,你可以尝试创build一个使用SSH在其他计算机上执行命令的包装器,除此之外你是不走运的。

计算机旨在用作docker主机预configuration器。 它创build准备运行docker容器的服务器。

我刚刚testing了dind(Docker-in-Docker)这里是链接所以你所要做的就是在你的主机上运行这个:Docker Host IP:172.17.42.1

  1. docker运行–rm swarm创build#get cluster_id
  2. docker run –privileged -d -p 1234:1234 -e PORT = 1234 jpetazzo / dind
  3. docker -H tcp:// DOCKER_HOST:1234 run -d swarm join –addr = DOCKER_HOST:1234 token:// cluster_id

你可以通过创build另一个节点

  1. docker运行 – 普通的-d -p 1235:1235 -e PORT = 1235 jpetazzo / dind
  2. docker -H tcp:// DOCKER_HOST:1235 run -d swarm join –addr = DOCKER_HOST:1235 token:// cluster_id

  3. docker run -d -p 2375:2375 swarm manage token:// cluster_id

检查一切正常docker-H tcp:// DOCKER_HOST:2375信息

如果您看到2个容器,则说明您已成功创buildswarm群集和docker机器作为docker容器。