2016-07-23 64 views
4

我一直在试图遵循本教程https://docs.docker.com/engine/swarm/swarm-tutorial/创建与码头工人一群群的Mac

相反,在我想网络一对夫妇运行的泊坞窗适用于Mac的MacBook一些真正的Linux主机或本地虚拟机上运行它。

继教程后,我在两台机器上安装了Docker for Mac。在第一台机器的码头群创建工作,并创建一个CA哈希和ID。

进行到第二台机器我执行连接命令从一个粘贴到另一个。

第二台机器无法连接。这是预期的,因为输出中显示的IP地址显然是虚拟机内的IP地址,而不是我机器上的地址。我试图通过指定本地网络适配器的地址尝试从教程转移,但它说它不能绑定到该地址。我知道所有的端口都是开放的,机器可以互相连接。

所以在我看来,我从根本上误解了本教程的目标,或者如何设置两台Mac,以便它们可以进行通信。通过谷歌搜索解决方案,似乎有几种可能性,我需要做什么:

运行一个分布式kv商店,以帮助群网络协调(但这不是新的业务流程?) 设置一个端口隧道从网络适配器到高山linux码头守护程序 放弃并在本地测试我的群集

更新:经过一些更多的研究后,似乎应该使用本指南创建覆盖网络。但是本指南使用码头机。据我了解,我应该/不能将Docker-machine与Docker for Mac一起使用,或者是不正确的?

https://docs.docker.com/engine/userguide/networking/get-started-overlay/

回答

0

从Docker 1.12开始,这是不可能的。它可能会在更高版本中运行。

0

但这个指南使用泊坞窗机。

这不应该是一个问题:每次在the tutorial

点环境看向了群主时间。

$ eval $(docker-machine env --swarm mhs-demo0) 

它只是意味着你应该在群主执行下一个泊坞窗命令(你的Mac之一)

切换到按顺序将每群剂和列表中的网络。

$ eval $(docker-machine env mhs-demo0) 

同样,切换到另一台Mac上执行其他命令泊坞窗。

+0

这是我困惑的主要观点。当使用Docker for Mac时,docker-machine不知道管理程序上运行的docker主机。所以“docker-machine env”会返回一个错误,因为主机没有运行。 – justinhj

+0

我的观点是:每次看到码头机时,都不要使用码头机,而是直接在物理机上使用码头命令 – VonC

3

您必须设置一个端口隧道来将VM内的docker守护进程端口提升为主机网络接口。要检查是否可以访问另一台机器的守护进程,请使用https://otherMachineIp:DaemonPort/v1/_ping。如果这个成功,你可以到达另一个守护进程来建立一个群。

顺便说一句,只要你在同一个码头版本上,使用Docker for Mac和docker-machine应该不会造成问题。