如何将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
- docker运行–rm swarm创build#get cluster_id
- docker run –privileged -d -p 1234:1234 -e PORT = 1234 jpetazzo / dind
- docker -H tcp:// DOCKER_HOST:1234 run -d swarm join –addr = DOCKER_HOST:1234 token:// cluster_id
你可以通过创build另一个节点
- docker运行 – 普通的-d -p 1235:1235 -e PORT = 1235 jpetazzo / dind
-
docker -H tcp:// DOCKER_HOST:1235 run -d swarm join –addr = DOCKER_HOST:1235 token:// cluster_id
-
docker run -d -p 2375:2375 swarm manage token:// cluster_id
检查一切正常docker-H tcp:// DOCKER_HOST:2375信息
如果您看到2个容器,则说明您已成功创buildswarm群集和docker机器作为docker容器。