Как получить доступ к подсети docker (DinD) из другого docker(Jenkins)? Добрый день.
Есть два докера запущенных на хосте - Docker in Docker (DinD) и Jenkins.
Jenkins запускает свои docker'ы в DinD. Каким образом можно получить доступ из Jenkins к создаваемым в DinD контейнерам?

9 Мар 2021 в 19:46
153 +1
0
Ответы
1

Для того чтобы получить доступ из Jenkins к контейнерам, создаваемым в DinD, можно использовать сеть между контейнерами.

Вам необходимо создать общую сеть для обоих контейнеров, где DinD будет создавать другие Docker контейнеры, а Jenkins будет иметь доступ к этим контейнерам.

Выполните следующие шаги:

Создайте общую сеть для контейнеров:

docker network create mynetwork

Запустите DinD контейнер, подключив его к созданной сети:

docker run -d --name dind --privileged --network mynetwork docker:dind

Запустите Jenkins контейнер и также подключите его к созданной сети:

docker run -d --name jenkins --network mynetwork jenkins/jenkins

Теперь DinD и Jenkins контейнеры будут иметь доступ друг к другу через общую сеть. Вы можете использовать IP адрес DinD контейнера для доступа к создаваемым в нем контейнерам из Jenkins.

17 Апр 2024 в 20:44
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир