Моя машина находится в частной сети с частными DNS-серверами и частной зоной для разрешения DNS. Я могу разрешить хосты в этой зоне с моего хост-компьютера, но я не могу разрешить их из контейнеров, запущенных на моем хост-компьютере.
Хост
[email protected]:~# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
[email protected]:~# ping privatedomain.io
PING privatedomain.io (192.168.0.101) 56(84) bytes of data.
Container
[email protected]:~# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4
[email protected]:~# ping privatedomain.io
ping: unknown host privatedomain.io
Довольно очевидно, что общедоступные DNS-серверы Google не будут разрешать мои частные DNS-запросы. Я знаю, что могу заставить его с помощью docker --dns 192.168.0.1
или установить DOCKER_OPTS="--dns 192.168.0.1"
в /etc/default/docker
, но мой ноутбук часто переключает сети. Кажется, должен быть систематический способ решения этой проблемы.