tgo*_*gos 3 networking nic docker docker-compose
创建新网络后:
docker network create test-net
并ifconfig在主机上运行,列出了一个新的接口名称:
br-f2b630e4e141 Link encap:Ethernet HWaddr 02:42:48:fe:cb:86
inet addr:172.18.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 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)
Run Code Online (Sandbox Code Playgroud)
有没有办法创建这个网络并指定iface名称,例如docker1或test-net?
如果是docker-compose,我们还可以在docker-compose.yml文件中指定iface名称吗?
tgo*_*gos 10
有一个--opt选项,可以像这样使用:
docker network create --opt com.docker.network.bridge.name=br_test test-net
它似乎工作:
$ ifconfig
br_test Link encap:Ethernet HWaddr 02:42:8f:3b:24:32
inet addr:172.18.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 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)
Run Code Online (Sandbox Code Playgroud)
在--opt这里找到:https://docs.docker.com/engine/userguide/networking/#the-dockergwbridge-network
在里面docker-compose.yml:
networks:
test-net:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.100.0.0/16
driver_opts:
com.docker.network.bridge.name: br_test
Run Code Online (Sandbox Code Playgroud)