Полное руководство по установке Pi-hole с помощью Docker

Последнее обновление: 30 августа 2026
Автор: TecnoDigital

Устали от постоянной рекламы при каждом посещении интернета или использовании мобильных приложений? Есть отличное решение — Pi-hole, который, по сути, выступает в роли... интеллектуальный DNS-фильтрСамое приятное то, что вам не нужно устанавливать ничего на каждое устройство в вашем доме; система работает из ядра вашей сети, перехватывая и блокируя нежелательный контент еще до того, как он попадет на ваш экран.

Для настройки этой системы сегодня наиболее разумным вариантом является использование Docker. Разместив Pi-hole в контейнере, вы избегаете загромождения операционной системы вашего компьютера, значительно упрощаете обновления и можете максимально эффективно использовать оборудованиеБудь то Raspberry Pi, старый сервер или даже виртуальная машина на Ubuntu или Debian, без конфликтов между сервисами.

Блокируйте рекламу с помощью Pi-hole
Связанная статья:
Полное руководство по блокировке рекламы с помощью Pi-hole

Предварительные условия и подготовка площадки

Прежде чем мы начнём, стоит отметить, что Pi-hole — чрезвычайно лёгкое приложение. Для его безупречной работы вам понадобится всего несколько устройств. 512 МБ оперативной памяти и от 2 до 4 ГБ встроенной памяти. на диске. Что касается операционной системы, она прекрасно работает с дистрибутивами, использующими systemd или sysvinit, такими как Debian, Ubuntu, Fedora или Raspberry Pi OS.

Критически важным моментом является сеть. Для стабильной работы системы Pi-hole требуется сеть. статический IP-адресЕсли вы не хотите усложнять себе жизнь ручной настройкой сервера, вы можете зарезервировать IP-адрес на своем маршрутизаторе, чтобы он всегда назначал один и тот же адрес компьютеру, на котором находится контейнер.

  Что такое Webminal: онлайн-терминал Linux для обучения

Развертывание Pi-hole с использованием Docker

Самый простой способ начать — это создать файл. докер-compose.ymlЭтот метод позволяет определить всю конфигурацию сразу. Крайне важно сопоставить тома (например, /etc/pihole и /etc-dnsmasq.d) с локальными папками на вашем хосте, чтобы при обновлении образа контейнера... Не потеряйте все свои настройки. и ваши чёрные списки.

Микрокомпьютер Raspberry Pi в прозрачном корпусе, представляющий собой аппаратную часть сервера Pi-hole.
Связанная статья:
Полное руководство по Pi-hole и Unbound для обеспечения конфиденциальности в интернете.

В конфигурационном файле необходимо обратить внимание на порты. Порт 53 — это основной порт DNS, и он должен быть свободен. Если вы видите, что контейнер не запускается, вероятно, дело в следующем: systemd-resolved или dnsmasq Занимают этот порт на хосте. В таких случаях вам потребуется отключить конфликтующую службу или настроить мост для перенаправления трафика.

Если вы решите использовать Pi-hole также в качестве DHCP-сервера, помните, что вам необходимо добавить соответствующую возможность. NET_ADMIN в разделе cap_add файла compose и, желательно, использовать режим сети хоста (network_mode: host), чтобы избежать проблем с подключением.

Первоначальная настройка и управление доступом.

После выполнения команды docker-compose up -dСистема будет запущена. Для доступа к панели управления подключитесь к IP-адресу вашего сервера через назначенный вами порт (по умолчанию 80, хотя вы можете изменить его на 8080 или 89, чтобы избежать конфликтов с другими веб-серверами). Если вы не задали пароль в переменной среды... ВЕБ-ПАРОЛЬСистема сгенерирует случайный файл, который вы сможете найти, проверив журналы с помощью команды. docker logs pihole | grep random.

Для дополнительной безопасности лучше как можно скорее сменить пароль. Вы можете получить доступ к контейнерному терминалу, используя... docker exec -it pihole /bin/bash и запустите команду pihole -a -p установить пароль, который вам будет легко запомнить, но который будет сложно запомнить другим.

  5 инструментов для изучения программирования на Python

Фильтрация исходящих запросов и оптимизация DNS

Чтобы Pi-hole мог определить, к кому обращаться, если не распознает адрес, необходимо настроить вышестоящий DNS-сервер. Очень надежный вариант — это Quad9Выбрав фильтруемые серверы (например, 9.9.9.9) на вкладке настроек DNS, вы можете повысить уровень безопасности и конфиденциальности при просмотре веб-страниц.

В основе Pi-hole лежат списки блокировки. Если вы хотите начать с чего-то надежного, вы можете добавить список... Стивен БлэкПри каждом изменении списков, будь то удаление записей с помощью SQLite3 или добавление новых URL-адресов, необходимо перейти в раздел «Инструменты» и запустить соответствующую команду. Обновить гравитацию чтобы база данных обновилась и изменения вступили в силу.

Расширенные советы: Локальные домены и управление

Если у вас дома несколько сервисов, вы можете создать локальные доменные имена чтобы избежать необходимости запоминать IP-адреса. Для этого создайте файл с именем... local.list На смонтированном томе Pi-hole укажите формат IP-адреса и домена. Затем создайте конфигурационный файл для dnsmasq, который будет ссылаться на этот список, и перезапустите контейнер.

Для управления системой без доступа к веб-сайту можно использовать очень полезные команды, которые можно запускать с хоста. Например, чтобы добавить домен в черный список, используйте pihole -b mydomain.com Или, чтобы временно отключить фильтрацию на 10 минут, вы можете использовать Отключение Pihole на 10 мЭто очень полезно, когда легитимный веб-сайт по ошибке блокируется.

Взять под контроль домашнюю рекламу вполне реально, если сочетать скромное оборудование с гибкостью Docker, убедиться, что порт 53 свободен, и правильно настроить тома для сохранения данных. После настройки DNS на маршрутизаторе и оптимизации списков Gravity вы получите более чистую и гораздо более быструю сеть на всех ваших устройствах.

Крупный план платы Raspberry Pi с видимыми электронными компонентами, микросхемами и разъемами на поверхности, идеально подходящий для иллюстрации основного аппаратного обеспечения, рассматриваемого в этом уроке.
Связанная статья:
Полное руководство по установке и оптимизации AdGuard Home на Raspberry Pi.