Рейтинг:0

Как я могу настроить свой локальный компьютер для использования DNS-сервера, размещенного в докере, наряду с другими настройками DNS для определенных доменов?

флаг fr

У меня есть следующий docker-compose.yml, используемый в качестве локального решения веб-приложения php:

версия: "3.1"

Сервисы:
  нгинкс:
    изображение: nginx:1.13
    тома:
      - "./configuration/nginx.conf:/etc/nginx/nginx.conf:ro"
      - "./configuration/etable-local.key:/etc/nginx/etable-local.key:ro"
      - "./configuration/etable-local.crt:/etc/nginx/etable-local.crt:ro"
      - "веб-сайт:/var/www/html/веб-сайт"
      - "апи:/вар/www/html/статический"
    ссылки:
      - "php708: веб-сайт"
      - "php72: API"
    сети:
      внешний интерфейс:
        ipv4_адрес: 172.20.0.5
    порты:
      - "80:80"
      - "443:443"

  php72:
    изображение: php:7.2-fpm-alpine
    тома:
      - "апи:/вар/www/html/апи"
    среда:
      СРЕДА: местная
    сети:
      - внешний интерфейс
    DNS:
      - 8.8.8.8
      - 9.9.9.9
  Веб-сайт:
    изображение: php:7.2-fpm-alpine
    тома:
      - "апи:/вар/www/html/апи"
    среда:
      СРЕДА: местная
    сети:
      - внешний интерфейс
    DNS:
      - 8.8.8.8
      - 9.9.9.9
тома:

  Веб-сайт:
    водитель: местный
    driver_opts:
      тип: "нет"
      о: "связать"
      устройство: $WEBSITE_DIR

  API:
    водитель: местный
    driver_opts:
      тип: "нет"
      о: "связать"
      устройство: $API_DIR

сети:
  внешний интерфейс:
    IPAM:
      конфигурация:
        - подсеть: 172.20.0.0/24

И на моем компьютере, на котором запущен контейнер докеров, у меня есть следующие записи в /etc/hosts:

172.20.0.5 апи.локальный
172.20.0.5 веб-сайт.local

Но я также хочу обслуживать домены с подстановочными знаками, поэтому я думаю также отправить dnsmasq с соответствующими конфигурациями в моем docker-compose и полностью отказаться от /и т.д./хосты (лучшее повторное использование и общие настройки для всей команды):

версия: "3.1"

Сервисы:
  нгинкс:
    изображение: nginx:1.13
    тома:
      - "./configuration/nginx.conf:/etc/nginx/nginx.conf:ro"
      - "./configuration/etable-local.key:/etc/nginx/etable-local.key:ro"
      - "./configuration/etable-local.crt:/etc/nginx/etable-local.crt:ro"
      - "веб-сайт:/var/www/html/веб-сайт"
      - "апи:/вар/www/html/статический"
    ссылки:
      - "php708: веб-сайт"
      - "php72: API"
    сети:
      внешний интерфейс:
        ipv4_адрес: 172.20.0.5
    порты:
      - "80:80"
      - "443:443"

  php72:
    изображение: php:7.2-fpm-alpine
    тома:
      - "апи:/вар/www/html/апи"
    среда:
      СРЕДА: местная
    сети:
      - внешний интерфейс
    DNS:
      - 8.8.8.8
      - 9.9.9.9

  Веб-сайт:
    изображение: php:7.2-fpm-alpine
    тома:
      - "апи:/вар/www/html/апи"
    среда:
      СРЕДА: местная
    сети:
      - внешний интерфейс
    DNS:
      - 8.8.8.8
      - 9.9.9.9

  маска DNS:
     изображение: 'jpillora/dnsmasq'
     порты:
      - "53:53/удп" 
      - "5380:8080"
    тома:
       -"/opt/dnsmasq.conf:/etc/dnsmasq.conf"
    среда:
        HTTP_USER: фу
        HTTP_PASS: бар
    сети:
      внешний интерфейс:
        ipv4_адрес: 172.20.0.6
    DNS:
      - 8.8.8.8
      - 9.9.9.9

тома:

  Веб-сайт:
    водитель: местный
    driver_opts:
      тип: "нет"
      о: "связать"
      устройство: $WEBSITE_DIR

  API:
    водитель: местный
    driver_opts:
      тип: "нет"
      о: "связать"
      устройство: $API_DIR

сети:
  внешний интерфейс:
    IPAM:
      конфигурация:
        - подсеть: 172.20.0.0/24

Но как я могу настроить свою локальную машину GNU/Linux и Windows для разрешения соответствующих доменов через 172.20.0.6 наряду с любым другим доменом?

В моем Linux Mint 19.04 после запуска ifconfig я получаю следующие настройки:

br-144546484da6: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
        инет 172.18.0.1 сетевая маска 255.255.0.0 широковещательная рассылка 172.18.255.255
        эфир 02:42:ee:ad:b4:6b txqueuelen 0 (Ethernet)
        Пакеты RX 0 байт 0 (0,0 Б)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 0 байт 0 (0,0 Б)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

br-2c821d16ac40: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
        инет 172.24.0.1 сетевая маска 255.255.0.0 широковещательная рассылка 172.24.255.255
        эфир 02:42:d1:29:8f:d0 txqueuelen 0 (Ethernet)
        Пакеты RX 0 байт 0 (0,0 Б)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 0 байт 0 (0,0 Б)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

br-936b043d07ec: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        инет 172.20.0.1 сетевая маска 255.255.255.0 широковещательная рассылка 172.20.0.255
        inet6 fe80::42:31ff:fe3b:6a93 prefixlen 64 scopeid 0x20<ссылка>
        эфир 02:42:31:3b:6a:93 txqueuelen 0 (Ethernet)
        RX-пакеты 21190 байт 46944301 (46,9 МБ)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 20152 байт 3393362 (3,3 МБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
        инет 172.17.0.1 сетевая маска 255.255.0.0 широковещательная рассылка 172.17.255.255
        эфир 02:42:63:fa:1e:98 txqueuelen 0 (Ethernet)
        Пакеты RX 0 байт 0 (0,0 Б)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 0 байт 0 (0,0 Б)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        инет 192.168.2.4 сетевая маска 255.255.255.0 широковещательная рассылка 192.168.2.255
        inet6 fe80::4819:e008:32b3:eb75 prefixlen 64 scopeid 0x20<ссылка>
        эфир 30:5a:3a:82:3c:2c txqueuelen 1000 (Ethernet)
        RX-пакеты 1020236 байт 974038110 (974,0 МБ)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 708231 байт 83763973 (83,7 МБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
        инет 127.0.0.1 сетевая маска 255.0.0.0
        inet6 ::1 prefixlen 128 scopeid 0x10<хост>
        loop txqueuelen 1000 (локальная петля)
        Пакеты RX 35856 байт 3871878 (3,8 МБ)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 35856 байт 3871878 (3,8 МБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

vboxnet3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        инет 192.168.10.1 сетевая маска 255.255.255.0 широковещательная рассылка 192.168.10.255
        inet6 fe80::800:27ff:fe00:3 prefixlen 64 scopeid 0x20<ссылка>
        эфир 0a:00:27:00:00:03 txqueuelen 1000 (Ethernet)
        Пакеты RX 0 байт 0 (0,0 Б)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 1537 байт 248272 (248,2 КБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

veth15937a1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet6 fe80::f828:5eff:fe17:5f3f prefixlen 64 scopeid 0x20<ссылка>
        эфир fa:28:5e:17:5f:3f txqueuelen 0 (Ethernet)
        Пакеты RX 0 байт 0 (0,0 Б)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 1299 байт 200892 (200,8 КБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

veth4f39177: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet6 fe80::7807:8bff:fef4:90d6 prefixlen 64 scopeid 0x20<ссылка>
        эфир 7a:07:8b:f4:90:d6 txqueuelen 0 (Ethernet)
        RX-пакеты 4022 байта 2287668 (2,2 МБ)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 4674 байта 1238082 (1,2 МБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

vethb2863e3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet6 fe80::986d:2aff:feae:5a83 prefixlen 64 scopeid 0x20<link>
        эфир 9a:6d:2a:ae:5a:83 txqueuelen 0 (Ethernet)
        Пакеты RX 0 байт 0 (0,0 Б)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 1279 байт 197402 (197,4 КБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

vethe23b637: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet6 fe80::d8cf:8dff:fe79:2de prefixlen 64 scopeid 0x20<ссылка>
        эфир da:cf:8d:79:02:de txqueuelen 0 (Ethernet)
        RX-пакеты 10344 байта 1065309 (1,0 МБ)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 11282 байт 1252992 (1,2 МБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

vethea02dde: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet6 fe80::a8aa:72ff:fe3f:f7f6 prefixlen 64 scopeid 0x20<ссылка>
        эфир aa:aa:72:3f:f7:f6 txqueuelen 0 (Ethernet)
        RX-пакеты 1792 байта 43279416 (43,2 МБ)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 2443 байта 307732 (307,7 КБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

vethf1bdbae: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet6 fe80::6cd3:dfff:feec:1000 prefixlen 64 scopeid 0x20<ссылка>
        эфир 6e:d3:df:ec:10:00 txqueuelen 0 (Ethernet)
        Пакеты RX 0 байт 0 (0,0 Б)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 1272 байта 196493 (196,4 КБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

vethf209ff2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet6 fe80::7c6c:11ff:fecc:25c7 prefixlen 64 scopeid 0x20<ссылка>
        эфир 7e:6c:11:cc:25:c7 txqueuelen 0 (Ethernet)
        RX-пакеты 5594 байта 45271086 (45,2 МБ)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 7041 байт 45379695 (45,3 МБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

И сеть, в которой работает DNS, это: бр-936b043d07ec но я боюсь, что его имя также может меняться каждый раз, когда я запускаю докер-компоновать (как только я заканчиваю свою работу, я часто запускаю докер-компоновать вниз).

Многие решения, подобные этому один предложить разрешение DNS ВНУТРИ докер-контейнер. и это не то, что я хочу, а способ иметь разрешение имен с подстановочными знаками аналогичным образом, я мог бы настроить локальные домены в /и т.д./хосты.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.