как настроить докер, чтобы ограничить диапазон портов для раскручивания контейнеров

Мы используем Jenkins и докер для выполнения CI/CD. Наш Jenkins настроен как ведущий/ведомый, где подчиненные устройства распределены по разным центрам обработки данных. когда необходимо создать новую сборку, Jenkins master идентифицирует ведомое устройство в одном из контроллеров домена, запускает эфемерный контейнер и отключает его после завершения.

Из-за ограничений брандмауэра у нас открыто только около 10 портов для ведомых устройств в некоторых контроллерах домена. например, диапазон портов: 8000–8010. Обычно докер использует диапазоны портов linux от 32768 до 61000. Проблема в том, что мастер Jenkins не может общаться с контейнерами, если порт хоста выходит за пределы 8000–8010. Плагин Jenkins docker имеет ограничения, где вы не можете привязать несколько портов (может быть, я ошибаюсь здесь). Я хотел бы знать, можем ли мы каким-либо образом настроить это на конце докера или в плагине докера Jenkins.


person Krish    schedule 17.08.2016    source источник


Ответы (1)


После изучения многих форумов и общения с людьми это невозможно или рекомендуется даже пытаться сделать. Рекомендуемая реализация для решения этой проблемы — перейти на Docker Swarm,

  1. где у вас есть только одно виртуальное облако докеров
  2. который заботится о раскрутке контейнеров за кулисами и держит их готовыми к употреблению еще до того, как в этом возникнет необходимость. Варианты конфигурации являются гибкими.

Подробнее о Swarm читайте здесь https://docs.docker.com/swarm/.

person Krish    schedule 28.11.2016