IPv4
От 0.70$ за 1 шт. 44 стран на выбор, срок аренды от 7 дней.
Используя контейнеризатор приложений Docker, разработчики могут столкнуться с ситуацией, когда нужно изменить параметры сети, чтобы протестировать приложение в разных ГЕО или обойти ограничение интернет-провайдера. Проблема решается с помощью настройки прокси в Docker. Как это сделать? Предлагаем пошаговую инструкцию.
Для начала коротко расскажем, что такое Docker. Это платформа, предназначенная для упаковки приложений в контейнеры. Каждый контейнер, помимо самого приложения, содержит исполнительную среду (виртуальную машину, содержащую только необходимые процессы операционной системы), сервер и другие файлы, которые нужны для запуска софта.
Достоинство контейнеризации — у вас есть готовый образ с веб-приложением. Его можно запустить на локальном компьютере с Windows без развертывания веб-сервера, потом перебросить на MacBook без пересборки проекта и напоследок установить на сервер с ОС Linux без дополнительной подготовки инфраструктуры.
В Docker предусмотрен встроенный прокси-клиент. Доступно два способа установки сетевых настроек: через создание конфигурационного файла для Docker клиента и через командную строку.
{
"proxies": {
"default": {
"httpProxy": "http://proxy.example.com:Port",
"httpsProxy": "https://proxy.example.com:Port",
"noProxy": "*.test.example.com,.example.org,127.0.0.0/8"
}
}
}
В конфигурации можно задать такие параметры:
К сожалению, последняя версия платформы не поддерживает socks прокси.
Настроить прокси можно через командную строку, используя команды «docker build» (создание конфигурации) и «docker run» (запуск конфигурации) с присвоением флага -env.
Прокси прописываются в таком формате: PROTOCOL_PROXY="IP-address:Port". Код для HTTP-прокси будет выглядеть следующим образом:
docker build --build-arg HTTP_PROXY="http://proxy.example.com:3128"
docker run --env HTTP_PROXY="http://proxy.example.com:3128" redis
Настроить прокси в Docker можно буквально двумя командами. Платформа поддерживает прокси с SSL-шифрованием, что позволяет значительно повысить сетевую безопасность при тестировании приложений.