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"
)
|