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)
  1. Есть ли способ создать эту сеть и указать имя iface, например docker1 или test-net?

  2. В случае 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
Другие вопросы по тегам