После обновления Docker до Docker версии 18.09.2, сборка 6247962 в Ubuntu 18.04.2 LTS, конфигурация DNS внутри контейнера всегда указывает только на DNS-серверы Google.Ранее файл /etc/resolv.conf
внутри контейнера содержал бы конфигурацию DNS хоста.
Файл /etc/resolv.conf
теперь выглядит следующим образом:
$ sudo docker run -it centos:6 bash
[root@459f5102cc74 /]# cat /etc/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.
# No DNS servers known.
nameserver 8.8.8.8
nameserver 8.8.4.4
[root@459f5102cc74 /]#
Единственное найденное мной на данный момент исправление - этовручную настроить DNS в /etc/docker/daemon.json
:
$ cat /etc/docker/daemon.json
{
"dns": ["10.0.0.1"],
"dns-search": ["example.org"]
}
После перезапуска демона Docker я вижу:
$ sudo docker run -it centos:6 bash
[root@d1049c2c3d96 /]# cat /etc/resolv.conf
search example.org
nameserver 10.0.0.1
Есть ли способ заставить Docker автоматически подобрать конфигурацию DNS хоста?
(PS Хост настроен статически, т. Е. Не использует DHCP.)