基于Windows/Linux混合搭建Docker集群架构
indows/Linux混合Docker集群架构
-
开发及运维修改dockerfile及代码提交至SVN服务器,同时触发SVN钩子进行镜像构建(Windows项目在Windows构建、Linux项目在Linux构建),并push至我们的Docker私有仓库
-
推送镜像之后,钩子同时触发Docker Swarmkit集群的leader服务器进行服务创建或者更新
-
启动IIS容器,需要提前启动haproxy+etcd+confd容器,以便服务注册
1
|
docker swarm init --advertise-addr 192.168.2.20:2377 --listen-addr 192.168.2.20:2377
|
1
|
docker service create --name=iis --replicas=1 --network=myspace --endpoint-mode=dnsrr --constraint "Node.Platform.OS==windows" microsoft /iis
|
1
2
3
4
5
|
netsh advfirewall firewall add rule name= "swm 2377" dir = in action=allow protocol=TCP localport=2377
netsh advfirewall firewall add rule name= "swm 7946" dir = in action=allow protocol=TCP localport=7946
netsh advfirewall firewall add rule name= "swm 7946udp" dir = in action=allow protocol=UDP localport=7946
netsh advfirewall firewall add rule name= "swm 4789" dir = in action=allow protocol=TCP localport=4789
netsh advfirewall firewall add rule name= "swm 4789udp" dir = in action=allow protocol=UDP localport=4789
|
1
2
3
|
for /f "tokens=2* delims==:" %%a in ( 'ipconfig^|find /i "10.0"' ) do (
curl.exe -XPUT http: //haproxy :2379 /v2/keys/web/ %site_name%/%computername% -d value= "%%a:80"
)
|