09.07.2026
docker build proxy
Как настроить proxy для Docker build: практическое руководство
В современном мире разработки контейнеров Docker стал практически стандартом. Он ускоряет создание, тестирование и развертывание приложений. Но иногда возникает необходимость использовать proxy при выполнении команд docker build. Почему это важно и как правильно настроить proxy для Docker build — расскажем в этой статье.
Почему нужен proxy при docker build?
В России и странах СНГ многие компании работают через корпоративные сети с жесткими правилами доступа к интернету. В таких условиях без настройки proxy Docker не сможет скачивать необходимые образы и пакеты из внешних репозиториев.
Кроме того, использование proxy помогает ускорить скачивание данных, снизить нагрузку на сеть и обеспечить безопасность — весь трафик проходит через контролируемый узел.
Как настроить proxy для docker build?
Есть несколько способов настроить proxy, чтобы он работал во время сборки контейнера.
- Использование переменных окружения
Самый простой способ — задать переменные окружения при запуске Docker-команд:
export HTTP_PROXY="http://proxy.example.com:8080"
export HTTPS_PROXY="http://proxy.example.com:8080"
export NO_PROXY="localhost,127.0.0.1,.mycompany.local"
Эти переменные автоматически применятся при выполнении docker build, если вы используете Docker CLI в текущей сессии.
- Настройка Docker daemon
Для постоянной настройки proxy на уровне Docker daemon создайте или отредактируйте файл /etc/systemd/system/docker.service.d/http-proxy.conf:
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080/"
Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1,.mycompany.local"
После этого перезагрузите демон Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
Теперь все команды, включая docker build, будут автоматически использовать указанный proxy.
- Использование Dockerfile
Если нужно задать proxy только для конкретного процесса сборки, можно прописать переменные окружения прямо в Dockerfile:
syntax=docker/dockerfile:1
ARG http_proxy
ARG https_proxy
ENV http_proxy=$http_proxy
ENV https_proxy=$https_proxy
далее идут инструкции по сборке
При запуске сборки укажите аргументы:
docker build --build-arg http_proxy=http://proxy.example.com:8080 --build-arg https_proxy=http://proxy.example.com:8080 .
Важные нюансы
- Настройка NO_PROXY — важно исключить из proxy локальные адреса и внутренние ресурсы, чтобы не создавать лишнюю нагрузку и снизить задержки.
- Проверка работы — после настройки убедитесь, что
docker buildуспешно скачивает образы и пакеты. Можно добавитьRUNкоманду, которая делаетcurlилиwgetк внешним ресурсам и проверяет доступ.
Итог
Настройка proxy для docker build — необходимый шаг в корпоративных и российских условиях, чтобы обеспечить стабильную работу контейнеризации. Вариантов решений несколько — от временных переменных до постоянных настроек демона. Выбирайте подходящий исходя из задач и инфраструктуры.