这个解决方案很简单
使用docker自带的swarm
首先初始化集群
docker swarm init
然后其余节点加入集群,这个就不说,太简单了
集群初始化后,可以查看下集群状态
docker node ls
应该有一个manage 其余都是node
创建一个服务
docker service create --name nginx -p 31272:80 --replicas 3 nginx
创建一个nginx服务,映射端口为31272 容器数目为3
稍等片刻就可以了
docker service ps nginx
如果看到3/3就证明启动完毕了
由于docker swaim自带负载均衡,所以我们只需要访问manager的31272端口就可以访问容器的服务了,而且是三个容器负载均衡,不再同一个节点上,是不是很神奇。
到此,就完了,其实这个简单的环境用在测试中很有用
每个工程的端口写死,然后启动容器,前端使用HA做跳转负载,这样可以很快的开发迭代。