我一直在尝试遵循本教程:https ://docs.docker.com/engine/swarm/swarm-tutorial/
我不想在一些真正的 linux 主机或本地 VM 上运行它,而是想将几台运行Docker desktop for Mac的 MacBook 联网。
按照教程,我在两台机器上安装了适用于 Mac 的 Docker 桌面。在第一台机器上的终端中docker swarm create
工作并创建一个 ca 哈希和 id。
继续到第二台机器,我通过将连接命令从一台机器粘贴到另一台机器来执行连接命令。
第二台机器无法连接。这是意料之中的,因为输出中显示的 IP 地址显然是虚拟机内部的 IP 地址,而不是我机器上的地址。我尝试通过指定本地网络适配器的地址从教程中转移,但它说它无法绑定到该地址。我知道所有端口都打开了,机器可以相互连接。
所以在我看来,我从根本上误解了本教程的目的或如何设置两台 Mac 以便它们可以通信。通过谷歌搜索解决方案,我需要做的似乎有几种可能性:
运行分布式 kv 存储以帮助 swarm 网络协调(但这不是新编排的重点吗?)在每台机器上设置从网络适配器到 alpine linux docker daemon 的端口隧道放弃并只是测试我的集群本地
更新:经过更多研究,我似乎应该使用本指南创建一个覆盖网络。但本指南使用 docker-machine。据我了解,我应该/不能将 docker-machine 与 Docker desktop for Mac 一起使用,还是不正确?
https://docs.docker.com/engine/userguide/networking/get-started-overlay/