我有两台物理计算机都在同一网络中运行,我让其中一台成为管理器,另一台则成为一台工人。节点正确连接,我可以通过运行docker node ls
来查看它们。
在docker yml文件中,我总共有4个应用程序,其中两个应用程序在管理器节点上运行,其他应用程序在工作器节点上运行。
我的问题是,管理器节点中的应用程序无法通过覆盖网络访问工作节点中的应用程序。
更多信息:
管理器节点正在运行Ubuntu 18.04 LTS,工作器节点正在Mac mini(macOS 10.14.1)上运行。该架构如下所示:
我怀疑这是Mac问题。有什么想法吗?
答案 0 :(得分:0)
我一直在努力解决类似的问题。根本原因是因为适用于MacOS的Docker桌面不是“真正的docker”,并且无法正确转发来自其他主机的网络请求。详细信息在这里:https://docs.docker.com/docker-for-mac/docker-toolbox/
解决方法是通过docker-machine
命令行在MacOS(例如VirtualBox)中使用虚拟机。详细信息在How to connect to a docker container from outside the host (same network) [OSX 10.11]
我尝试了VirtualBox路径,添加了第三个桥接模式的网络适配器,最终可以从容器ping 3个节点。