docker_gwbridge默認使用172.18.0.0/16作為子網(wǎng)范圍,但是會遇到 host 所在網(wǎng)絡(luò)環(huán)境也存在172.18.0.0/16的情況,因此需要修改docker_gwbridge的子網(wǎng)范圍,以避免正常172.18.0.0/16網(wǎng)段終端的連接問題。
環(huán)境:
Docker 1.12.6
Docker swarm mode 開啟
一、docker_gwbridge介紹
docker_gwbridge是一個本地橋接網(wǎng)絡(luò),在以下兩種情況會自動創(chuàng)建:
初始化或者加入一個 swarm 集群時,用來在不同 hosts 主機的不同節(jié)點間進行通信;
再容器中的所有網(wǎng)絡(luò)都不能訪問外部時,Docker 會將
docker_gwbridge網(wǎng)絡(luò)加入到容器中,用來訪問外部網(wǎng)絡(luò)或者其他的集群節(jié)點。
二、操作步驟
1. 更改docker_gwbridge網(wǎng)段
// 停止所有服務(wù),沒有測試不停服務(wù)直接停止集群
$ docker service rm ***
//讓節(jié)點離開swarm mode,兩臺機器都要做!兩臺機器都要做!
$ docker swarm leave --force
// docker network disconnect docker_gwbridge gateway_ingress-sbox -f //需要加-f,否則會說找不到這個容器
// 刪除原有的docker_gwbridge網(wǎng)絡(luò)
$ docker network rm docker_gwbridge
// 重新創(chuàng)建docker_gwbridge網(wǎng)絡(luò),兩臺機器都要做!兩臺機器都要做!
$ docker network create --subnet 192.168.18.0/24 \
--opt com.docker.network.bridge.name=docker_gwbridge \
--opt com.docker.network.bridge.enable_icc=false \
--opt com.docker.network.bridge.enable_ip_masquerade=true \
docker_gwbridge
$ docker swarm init --advertise-addr 172.16.36.43
// 按照提示加入另一節(jié)點
加完網(wǎng)絡(luò)我還重啟了一下
2. 重啟服務(wù)
按照20170112升級 Docker 的操作步驟進行主要有:
- 創(chuàng)建 overlay 網(wǎng)絡(luò)
docker network create --driver overlay proxy
docker network create --driver overlay redmine_net
docker network create --driver overlay mongo_net
創(chuàng)建docker flow proxy服務(wù)器-反向代理
創(chuàng)建 gogs 、redmine 服務(wù)并注冊域名
創(chuàng)建 tinyci3.3 服務(wù)并注冊域名
使用 ci.yncic.com 進行生產(chǎn)系統(tǒng)和測試系統(tǒng)的啟動并手動注冊