I have two machines(A,B) with Ubuntu 16.0.4. Both installed docker(version 18.03.0-ce) and weave(2.3.0). When I try to start the redis docker container with a specified ip:
docker run --name redis-master --net weave --ip 192.168.30.11 -d redis:5.0.8 redis-server --appendonly yes
It works fine on machine A while failed on machine B, and the error message:
docker: Error response from daemon: Invalid address 192.168.30.11: It does not belong to any of this network's subnets.
On machine A, the docker network list:
NETWORK ID NAME DRIVER SCOPE
f5365db452bd bridge bridge local
cda951aee0a8 docker_gwbridge bridge local
38511d6122df host host local
6e64da3a25e2 none null local
8d74a493f63e weave weavemesh local
On machine B, the docker network list:
NETWORK ID NAME DRIVER SCOPE
d528e620daef bridge bridge local
c4fffd9aa891 host host local
02731d6f3d25 none null local
ef57e48e09ec weave weavemesh local
It confuses me that on machine A, the network 'docker_gwbridge' will appear after run the 'docker run --net weave --ip xxxx', but on machine B, no network 'docker_gwbridge'.
Could anyone help me, where does the 'docker_gwbridge' come from?