如何在Docker中为多个覆盖networking指定静态IP地址

所以我创build了两个覆盖networking:

docker network create --driver overlay --subnet 10.40.1.0/16 --internal net1 docker network create --driver overlay --subnet 10.50.1.0/16 --internal net2 

现在我想运行一个容器从每个networking分配一个静态IP地址

怎么做? docker不接受多个--net flags

您可以启动停泊状态的泊坞窗,连接networking,然后才启动它:

 docker create --name busybox -ti --net net1 --ip 10.40.1.0 busybox ifconfig docker network connect --ip 10.50.1.0 net2 busybox docker start -ai busybox eth0 Link encap:Ethernet HWaddr 02:42:0A:28:00:05 inet addr:10.40.0.5 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:aff:fe28:5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1450 Metric:1 RX packets:1 errors:0 dropped:0 overruns:0 frame:0 TX packets:1 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:90 (90.0 B) TX bytes:90 (90.0 B) eth1 Link encap:Ethernet HWaddr 02:42:0A:32:00:05 inet addr:10.50.0.5 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:aff:fe32:5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1450 Metric:1 RX packets:1 errors:0 dropped:0 overruns:0 frame:0 TX packets:1 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:90 (90.0 B) TX bytes:90 (90.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)