Я хочу использовать jenkins для запуска наших тестовых сценариев, но в нашем приложении есть набор Docker-контейнера, который будет инициирован при запуске npm run deploy:
проблема: в порту rabbitmq отказано: порт localhost 15672: в соединении отказано изнутри контейнера, пока оно доступно вне контейнера.
ниже приведены текущие настройки:
изображение докера от Дженкинса / Дженкинса: lts
с использованием dockerfile, который создаст зависимости для jenkins, которые
также есть Curl Docker (Docker внутри Docker),
Docker build создаст образ, помеченный
docker run --name myjenkins -u root -d -p 8080:8080 -p 50000:50000
-v jenkins-data:/var/jenkins_home -v
/var/run/docker.sock:/var/run/docker.sock testSample
root@373d88dc52e5:/var/jenkins_home/workspace/pipelineDemo@script# curl http://localhost:15672
curl: (7) Failed to connect to localhost port 15672: Connection refused
но когда я использую --net=host
в Docker, запустите команду следующим образом:
docker run --name myjenkins -u root -d -p 8080:8080 -p 50000:50000
-v jenkins-data:/var/jenkins_home
/var/run/docker.sock:/var/run/docker.sock --net =host testSample
Rabbitmq отвечает, и я могу выполнить все мои тесты
но мой проект не хочет, чтобы я использовал --net=host
из-за проблем безопасности
Есть ли другой способ, чтобы я мог добраться до rabbitmq и запустить тест-кейсы?