Работа через прокси

Docker

Если доступ к docker.mitigator.ru ведется через прокси, необходимо настроить Docker.

В системах под управлением systemd нужно:

  1. Создать drop-in к службе Docker´а с указанием прокси в окружении (детали подключения к прокси заменить на актуальные):

    mkdir -p /etc/systemd/system/docker.service.d
    cat >/etc/systemd/system/docker.service.d/proxy.conf <<END
    [Service]
    Environment=HTTP_PROXY=http://user:password@proxy.local:1234
    Environment=HTTPS_PROXY=http://user:password@proxy.local:1234
    Environment=NO_PROXY=docker.local
    END
  2. Добавить сертификат прокси в доверенные для Docker´а (/path/to/proxy.crt заменить на путь к сертификату прокси):

    mkdir -p /etc/docker/certs.d/docker.mitigator.ru
    cp /path/to/proxy.crt /etc/docker/certs.d/docker.mitigator.ru/ca.crt
  3. Обновить описание службы Docker и перезапустить её:

    systemctl daemon-reload
    systemctl restart docker

Podman

Если доступ к docker.mitigator.ru ведется через прокси, необходимо настроить Podman.

  1. Указать переменные окружения для прокси в файле containers.conf (для всей системы или для отдельного пользователя, детали подключения к прокси заменить на актуальные):

    Для системной конфигурации:

    mkdir -p /etc/containers
    cat >>/etc/containers/containers.conf <<END
    [engine]
    env = [
      "http_proxy=http://user:password@proxy.local:1234",
      "https_proxy=http://user:password@proxy.local:1234",
      "no_proxy=docker.local"
    ]
    END

    Для пользовательской конфигурации используйте файл ~/.config/containers/containers.conf.

  2. Добавить сертификат прокси в доверенные для Podman (/path/to/proxy.crt заменить на путь к сертификату прокси):

    mkdir -p /etc/containers/certs.d/docker.mitigator.ru
    cp /path/to/proxy.crt /etc/containers/certs.d/docker.mitigator.ru/ca.crt
  3. Перезапуск демона не требуется (Podman работает без демона). Если используется системный сокет Podman, перезапустите его:

    systemctl restart podman

Collector

Если Collector будет сообщаться с сервером лицензий (ls.mitigator.ru) через прокси, нужно указать переменные окружения. Для этого нужно создать файл docker-compose.override.yml с таким содержимым:

services:
  backend:
    environment:
      HTTP_PROXY: "http://user:password@proxy.local:3128"
      HTTPS_PROXY: "http://user:password@proxy.local:3128"

При необходимости задать также NO_PROXY (адреса, к которым нужно обращаться без прокси), требуется включать в нее .collector, localhost, 127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16 и 172.16.0.0/12:

NO_PROXY: "<новые серверы>,.collector,localhost,127.0.0.0/8,10.0.0.0/8,192.168.0.0/16,172.16.0.0/12"

После этого нужно перезапустить службу бэкенда:

docker-compose up -d backend
podman-compose up -d backend

Не используйте настройки прокси в файлах конфигурации ~/.docker/config.json (Docker) или ~/.config/containers/containers.conf (Podman) для контейнеров Collector. Если эти настройки требуются для работы контейнеров, не относящихся к Collector, укажите их только для таких контейнеров.