Docker - как задать имя iface при создании новой сети
После создания новой сети с:
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)
Есть ли способ создать эту сеть и указать имя iface, например docker1 или test-net?
В случае
docker-compose
, можем ли мы также указать имя iface внутриdocker-compose.yml
файл?
1 ответ
Решение
1. с помощью команды docker network
E сть --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)
нашел около --opt
здесь: https://docs.docker.com/engine/userguide/networking/
2. с docker-compose
внутри 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