我一直在尝试遵循这个教程:https://docs.docker.com/engine/swarm/swarm-tutorial/
我没有在一些真正的Linux主机或本地虚拟机上运行它,而是想为几台运行适用于Mac的Docker桌面的MacBook进行网络连接.
在本教程之后,我在两台机器上安装了适用于Mac的Docker桌面.在第一台机器上的终端上,docker swarm create工作并创建一个ca hash和id.
继续第二台机器,我通过将其从一个粘贴到另一个来执行连接命令.
第二台机器无法连接.这是预期的,因为输出中显示的IP地址显然是虚拟机内的IP地址,而不是我机器上的地址.我尝试通过指定本地网络适配器的地址从教程转移,但它说它无法绑定到该地址.我知道所有端口都是打开的,机器可以相互连接.
所以在我看来,我从根本上误解了教程的目的或如何设置两台Mac,以便他们可以进行通信.通过Google搜索解决方案,似乎我需要做几件事:
运行分布式kv存储来帮助群网络协调(但这不是新业务流程的重点吗?)
在每台机器上设置从网络适配器到alpine linux docker守护程序的端口隧道
放弃并在本地测试我的集群
更新:经过一些研究后,似乎我应该使用本指南创建一个覆盖网络.但本指南使用的是docker-machine.据我所知,我应该/不能使用docker-machine和Docker桌面用于Mac,或者这是不正确的?
https://docs.docker.com/engine/userguide/networking/get-started-overlay/
最佳答案
您必须设置端口隧道以将VM内的docker守护程序端口提升为主机网络接口.要检查是否可以访问另一台计算机的守护程序,请使用https://otherMachineIp:DaemonPort/v1/_ping.如果此成功,您可以访问另一个守护程序以设置一个群.
原文链接:https://www.f2er.com/docker/435749.htmlBTW,只要你使用相同的docker版本,使用Docker for Mac和docker-machine一起不应该导致问题.