У меня есть следующий docker-compose:
версия: "3.1"
Сервисы:
нгинкс:
изображение: nginx
сети:
внешний интерфейс:
ipv4_адрес: 172.20.0.5
исходящий:
ipv4_адрес: 172.20.1.5
тома:
- "./configuration/nginx.conf:/etc/nginx/nginx.conf:ro"
- "./configuration/service-local.key:/etc/nginx/service-local.key:ro"
- "./configuration/service-local.crt:/etc/nginx/service-local.crt:ro"
- "веб-сайт:/var/www/html/веб-сайт"
- "апи:/вар/www/html/апи"
дополнительные_хосты:
- "апи:172.20.0.3"
- "веб-сайт: 172.20.0.4"
API:
изображение: пхп
тома:
- "апи:/вар/www/html/апи"
сети:
- внешний интерфейс
дополнительные_хосты:
- "api.local:172.20.0.5"
DNS:
- 8.8.8.8
- 9.9.9.9
сети:
внешний интерфейс:
ipv4_адрес: 172.20.0.3
Веб-сайт:
изображение: пхп
тома:
- "апи:/вар/www/html/апи"
сети:
- внешний интерфейс
дополнительные_хосты:
- "api.local:172.20.0.5"
DNS:
- 8.8.8.8
- 9.9.9.9
сети:
внешний интерфейс:
ipv4_адрес: 172.20.0.4
тома:
Веб-сайт:
водитель: местный
driver_opts:
тип: "нет"
о: "связать"
устройство: $WEBSITE_DIR
API:
водитель: местный
driver_opts:
тип: "нет"
о: "связать"
устройство: $API_DIR
сети:
серверная часть:
IPAM:
конфигурация:
- подсеть: 172.20.0.0/24
внешний интерфейс:
водитель: мост
IPAM:
драйвер: по умолчанию
конфигурация:
- подсеть: 172.20.1.0/24
Весь входящий трафик будет проходить через внешний интерфейс
трафик.
Приведенная выше установка используется для разработки приложений на моем локальном компьютере.
Для разработки мы используем следующие имена хостов, размещенные непосредственно в /и т.д./хосты
или каждый хозяева
файл каждого разработчика:
API.local
для API, выполняемого в контейнере API.
веб-сайт .local
для фактического веб-сайта, выполненного в Веб-сайт
контейнер.
Также у меня есть приложение для Android, где я использую его для тестирования мобильных приложений, использующих указанные выше домены. Как я могу предоставить какой-то DNS для своих приложений в определенной сети, обслуживаемой каждым компьютером разработчика?