Настраиваем прокси сервер на платформе Docker
Настройка прокси сервера может потребоваться на платформе Docker в ряде случаев. Самыми распространёнными являются обход лимитов веб-провайдера и проведение тестов разработанного вами ПО во многих геолокациях. Начнём с рассмотрения понятия Докера.
Олександр Л.
11 июня 2025
921
921
11 июня 2025
Что такое Docker
Docker — это набор продуктов, реализованных по принципу «платформа как услуга» (PaaS), которые используют виртуализацию на уровне ОС, чтобы доставлять программное обеспечение в пакетах, называемых контейнерами, то есть, производить контейнеризацию пакетов. У сервиса предусмотрены разные по оплате уровни: бесплатный и премиум с расширенными функциями. Данное программное обеспечение было выпущено в 2013 году. Иными словами, Docker называют платформой для разработки, доставки и запуска программного обеспечения, в которой можно отделить ваше ПО от вашей инфраструктуры. Таким образом, собранный контейнер можно запускать на разных ОС. Кроме того, вам будет приятно узнать, что платформа Docker поддерживает SSL, обеспечивающий отличную степень информационно-сетевой безопасности при работе с ней, в частности, при тестировании работы приложений. Контейнеризируемая информация содержит:
- Само ПО, запуск которого требуется разработчиком;
- Среду выполнения — виртуальную машину с набором минимально необходимых процессов;
- Требуемые для запуска ПО файлы;
- Сервер.
Настраиваем прокси в Docker
Существует 2 способа настройки: через командную строку и с помощью конфигурационного файла. Работа в командной строке выглядит так:
- Поскольку вы будете использовать параметр proxy.example.com:Port, вам необходимо узнать IP-адрес вашего прокси и используемый порт.
- В командной строке вводим команду docker build, которая создает конфигурацию. В ней нужно использовать аргумент --build-arg. Полная команда будет выглядеть так:
docker build --build-arg HTTP_PROXY="http://proxy.example.com:Port" - Затем, в той же командной строке, вводим команду docker run для запуска созданной конфигурации. Необходимо использовать аргумент --env. Полная команда будет выглядеть так: docker run --env HTTP_PROXY="http://proxy.example.com:Port" redis Настройка прокси Docker с помощью конфигурационного файла выглядит следующим образом:
- В рабочей директории найдите папку .docker. В ней должен находиться файл с названием config.json. Создайте его, если он отсутствует.
- В файле, используя понравившийся редактор, введите строки:
{
"proxies": {
"default": {
"httpProxy": "http://proxy.example.com:Port",
"httpsProxy": "https://proxy.example.com:Port",
"ftpProxy": "https://proxy.example.com:Port",
"noProxy": "*.test.example.com,.example.org,127.0.0.0/8"
}
}
}
3) На месте proxy.example.com:Port должны быть указаны данные вашего IP-адреса и порта, как в примере с командной строкой.
4) В файле конфигурации, как видно из кода, можно использовать 4 варианта прокси:
HttpProxy — для HTTP-варинта без шифрования;
HttpsProxy — для HTTPS-варинта с шифрованием;
ftpProxy — для FTP-варинта с целью передачи файлов через FTP;
noProxy — для направления прямого трафика.
Аналогичные варианты прокси необходимо использовать и при работе с командной строкой, в зависимости от типа вашего прокси. После сохранения конфигурационного файла docker proxy, указанные вами данные будут применяться ко всем новым контейнерам и к уже существующим, загруженным из репозитория Docker.
