@dimka812

Как связать Jenkins и Postgres в Docker?

Добрый день.

Решил поиграться с докером и CI. Установил на Ubuntu 16.04 docker, скачал images docker-ui, postgres и jenkins. Мой текущий скрипт запуска контейнеров:

docker run --name myUiDocker -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock -d uifd/ui-for-docker

docker run --name myPostgres -p 5432:5432 -e POSTGRES_PASSWORD=password -d postgres

docker run --name myJankins -p 9001:8080 -p 50000:50000 --link myPostgres:postgres -v /home/docker/jenkins_home:/var/jenkins_home -d jenkins

Настроил Jenkins, чтобы он брал spring-boot java приложение с гита и запускал его. При запуске получаю такого рода исключения: "Unable to build Hibernate SessionFactory: Unable to open JDBC Connection for DDL execution: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections. Connection refused (Connection refused) -> [Help 1]".

С pgAdmin к базе присоединяюсь нормально по адресу 127.0.0.1:5432, если просто вручную запущу приложение из рабочей директории Jenkins (java -jar aaa.jar), то тоже все хорошо, приложение видит бд. Значит я неправильно настраиваю Docker.

Подскажите пожалуйста, что я делаю не так?

Спасибо.
  • Вопрос задан
  • 1129 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Braidner
Давно с докером не работал, но вроде нужно еще указывать EXPOSE port
difference-between-expose-and-publish-in-docker
Ответ написан
Комментировать
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
попробуйте в Jenkins коннектится не на локалхост, а на myPostgres:5432
Ответ написан
Комментировать
@Me1ram
зайди в контейнер jenkins оттуда попробуй телнетом на myPostgres 5432
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы