Я тестирую этот образ для работы: https://hub.docker.com/r/pihole/pihole/
У него есть обязательная переменная env, для которой необходимо указать IP-адрес хоста докера: $ ServerIP.
Единственное объяснение, почему оно должно быть задано: «полностью заблокировать рекламу».
Установка, по-видимому, изменяет IP-адрес, который отображается в веб-интерфейсе PiHole в Settings --> System --> Pi-hole IPv4 address
.
Я попытался установить для переменной env произвольный IP-адрес (1.1.1.1), и, насколько я могу судить, ничего не сломалось - веб-интерфейс по-прежнему работает нормально, а сервер DNS по-прежнему разрешает DNS-запросы.
Что именно делает эта переменная? Это должно быть важно, так как это обязательно.
Больше всего меня беспокоит то, что моя дыра запускается с использованием файла docker-compose.yml, и я не хочу жестко кодировать IP-адрес хоста докера в файл docker-compose.yml в случае, если IP когда-либо меняется.
Обновление: после дальнейших исследований выясняется, что pihole может работать в нескольких режимах. В последней версии по умолчанию используется BLOCKINGMODE=NULL
, где 0.0.0.0
возвращается к запросам DNS. Если вы введете его в BLOCKINGMODE=IP
, он вернет Pi-hole IPv4 address
в ответ на DNS-запросы. Кто-нибудь может подтвердить, что это единственное, для чего используется настройка?