Docker-Swarm:从另一个子网join一个docker-swarm
我有4个虚拟机在同一个子网中,这是一个docker群的一部分。 现在我想连接另一个节点(虚拟机),它位于不同的国家(不同的子网)。 我是一个IP noob,我很难在docker中build立一个覆盖networking,它能够处理这个连接。
通过build立这种docker群,我需要牢记哪些方面?
您需要在您的群集节点之间打开以下端口:
- 2377 / tcp:Swarm模式的api
- 7946 /双方:叠加联网控制
- 4789 / udp:覆盖networking数据
- 协议50用于覆盖networking的ipsec(安全选项)
下面的iptables命令可以用于这个(你可能想限制源主机只有你的其他docker swarm节点):
iptables -A INPUT -p tcp -m tcp --dport 2377 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 7946 -j ACCEPT iptables -A INPUT -p tcp -m udp --dport 7946 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 4789 -j ACCEPT iptables -A INPUT -p 50 -j ACCEPT
这需要在所有群集节点(如果它们具有限制性主机防火墙)以及保护子网的networking防火墙上进行configuration。
- 通过docker-compose生成的文件运行web rails g控制器没有权限编辑
- Docker-Machine AWS策略
- 了解docker与自定义文件。
- Docker-compose mysql似乎无法识别环境variablesMYSQL_RANDOM_ROOT_PASSWORD
- 在Docker容器中的MySQL连接
- MeteorD中的MongoDB URL
- docker“jenkins”形象不能访问互联网
- 来自docker容器的ERR_EMPTY_RESPONSE
- Dockered Django + Celery(`celeryd`和`celerybeat`),任务被执行,但数据库(SQLite)不被修改。 哪里不对?