Всем здравствуйте!
Ситуация следующая: есть хост-система (CentOS 7.6), в которой установлен докер. И (среди прочего) есть контейнер, в котором установлен CentOS из вот этого образа https://hub.docker.com/_/centos/ Причём немного «допилен» для поддержки systemd (на той же странице в hub.docker.com есть инструкция под заголовком «Dockerfile for systemd base image»).
Контейнер запускается в приватной сети с примерно вот такими параметрами:
docker run -dit --name="env4" --restart always --privileged --net mynetwork -p 22004:22 --expose 80 --expose 443 local/centos-systemd:my_tag
В «чистом» контейнере в плане DNS всё хорошо работает, можно пропинговать любой сайт по доменному имени.
Дальше я произвожу запуск определённого bash-скрипта (в контейнере), который написан не мной и который устанавливает веб-окружение и кучу-кучу всего (nginx, httpd, mysql, nodejs и мн.мн.др.) Так вот после его установки перестают ресолвиться доменные имена. При этом пинг по IP-адресам проходит:
root# ping ya.ru
ping: ya.ru: Name or service not known
root# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=46 time=4.62 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=46 time=4.67 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=46 time=4.65 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=46 time=4.68 ms
Содержимое файла /etc/resolv.conf до и после установки скрипта одинаковое:
root# cat /etc/resolv.conf
nameserver 127.0.0.11
options ndots:0
Если прописать в этот файл ручками гугловские DNS-серверы (8.8.8.8 и 8.8.4.4), то всё начинает работать (имена ресолвятся), но вариант не подходит из-за того, что тогда теряются алиасы локальных IP-адресов, которые есть в приватной сети docker. Ну и плюс при каждом рестарте контейнера этот файл переписывается на то содержимое, которое я привёл.
Такое ощущение, что этот скрипт ставит какую-то свою службу разрешения доменных имён, которая работает криво. Посмотрел лог установки, по слову «DNS» нашёл следующее:
---> Package perl-Net-DNS.x86_64 0:0.72-6.el7 will be installed
Есть ли идеи, куда копать, чтобы в контейнере доменные имена начали ресолвиться?