Странное поведение dnsmasq в док-контейнерах

У меня есть экземпляр CoreOS с док-контейнером, который работает dnsmasq, В настоящее время dnsmasq Конфигурация настроена только на запись всех запросов и запуск в режиме отладки, поэтому она должна просто выполнять кэширование.

Когда я пытаюсь использовать это из другого контейнера с dig, nslookupили просто работает ping google.com Я вернусь Bad hostname: google.com и я вижу в журнале запросов, что запросы поступают несколько раз, как будто они повторяются.

Если я попытаюсь выполнить те же команды с хост-компьютера, на котором запущен CoreOS, все проблемы не решаются за одну попытку.

Мой план - запустить dnsmasq на каждом компьютере с операционной системой CoreOS в кластере, и для его поддержки confd, так что все сервисы могут разрешать соответствующие аналоги.

Я использую Alpine linux для своих базовых образов, но я попытался выполнить эти команды внутри Ubuntu и образа Debian с тем же результатом.

1 ответ

Правильно было поступить в следующем потоке ( Настройка Docker Dnsmasq)

при выставлении порта он должен быть явно привязан к IP-адресу хоста (в нашем случае внутренний).

Вызов контейнера выглядит примерно так:

source /etc/environment
docker run -d --cap-add NET_ADMIN \
    -p "$COREOS_PRIVATE_IPV4:53:53" \
    -p "$COREOS_PRIVATE_IPV4:53:53/udp" \
    -e COREOS_PRIVATE_IPV4="$COREOS_PRIVATE_IPV4"\
    someorg/dnsmasq

Затем все контейнеры, которые запускаются с --dns "$COREOS_PRIVATE_IPV4" получить разрешение через машинный уровень dnsmasq правильно.

Другие вопросы по тегам