Невозможно подключиться к контейнеру docker в конвейере Jenkins при использовании настройки "Docker за пределами Docker" - PullRequest
1 голос
/ 10 апреля 2020

Я выполняю задание Jenkins на основе такого агента:

pipeline {
  agent {
    docker {
      image 'cypress/base:10'
        args '-v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose -u root'
    }
  }
…

note: docker и docker-compose смонтированы в моем контейнере агента для возможности запуска docker контейнеров внутри ступеней конвейера («Docker за пределами настройки Docker»)

вниз по конвейеру, я запускаю docker-compose установку, которая состоит из 2 контейнеров - сервера и веб-приложения

…
sh 'docker-compose up --build --detach'
…

После этого я хочу отправить запрос GET на localhost:8080, отсюда и должно быть получено веб-приложение. Но я получаю

Error: connect ECONNREFUSED localhost:8080

Такая же docker -композитная настройка работает на моем устройстве. машина. Переадресация портов настроена правильно (8080: переадресация портов 8080 включена в docker-compose файле конфигурации)

Я думаю, что это в некоторой степени связано с настройкой "Docker за пределами Docker", которую я выполняю в Jenkins Port Возможно, порт 8080 прослушивает хост агента моего конвейера, не уверен…

Я буду рад получить несколько sh идей по этой проблеме, совершенно не в себе this.

И просто для большего контекста: я хочу запустить web-app + API-сервер через docker -compose, а затем запустить Cypress (вне docker -compose setup), чтобы сделать E2E тестирование через пользовательский интерфейс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...