Как настроить DNS для работы с Docker контейнерами?

Есть несколько Docker контейнеров с php, nginx, mysql разных версий.
Чтобы открыть сайт необходимо в hosts вписать ID и домен.
Есть необходимость поднять DNS сервер, чтобы он отвечал за зону .dev и все запросы перенапрявлял на хост машину.
В гугле люди это решили с помощью dnsmasq, но у меня не заводится.
Конфигурация docker-compose.yml для части dns:
# Версия docker-compose
version: '2'
# Список наших сервисов (контейнеров)
services:
# php nginx mysql #
     dns:
         build: ./images/dnsmasq
         ports:
             - "53:53"
             - "53:53/udp"


Dockerfile:
FROM alpine:edge
RUN apk --no-cache add dnsmasq
EXPOSE 53 53/udp
ENTRYPOINT ["dnsmasq", "-k", "-S", "/dev/192.168.99.100"]


192.168.99.100 - IP docker-machine на WIndows
Пользуюсь также на Ubuntu
  • Вопрос задан
  • 1342 просмотра
Пригласить эксперта
Ответы на вопрос 1
AfsmNGhr
@AfsmNGhr
Full stack web developer
Не понял зачем вам нужен dns. Для разработки хватит проброса портов из docker'а и по http://192.168.99.100:port без проблем работаете. Для связи контейнеров используйте api version >3.0, в .env пишите свой COMPOSE_PROJECT_NAME=test, в сети пишите net, container db:5432, тогда адрес получится http://db.test_net:5432.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы