1. 数据存储(rethinkdb)
2.服务发现(etcd)
为了启用Swarm leader选择,我们必须使用来自Swarm容器的外部键值存储。此处,我们使用Etcd作为服务发现工具。可以选用的服务发现工具还有Consul、Zookeeper等。
3. Docker代理服务(shipyard/docker-proxy)
默认情况下,Docker引擎只侦听套接字。 我们可以重新配置引擎以使用TLS,或者您可以使用代理容器。 这是一个非常轻量级的容器,它只是将请求从TCP转发到Docker监听的Unix套接字。
4.Swarm管理节点(swarm manager)
- 将IP-OF-HOST替换为对应的ip;
- 将SWARM-INNER-PORT换成对应的端口,默认2375.
- 将SWARM-MAP-PORT换成映射到host机的ip,例如2376
5.Swarm Agent节点将当前docker节点加入到集群中
- 将IP-OF-HOST替换为对应的ip
- 将IP-OF-ETCD-HOST换成etcd所在的docker节点ip。
- 将LOCAL-DOCKER-PORT换成本机docker所监听的端口,例如2375
6.启动Shipyard管理工具
7.浏览器访问:http://192.168.1.108:8083/ 即可进入链接
默认用户名/密码 admin/shipyard
防火墙需打开4001端口,否则防火墙会拦住容器。
以下三行代码为nginx做WebSockets跳转否则,在执行shell时会报400错误