Я пытаюсь запустить образ докера rundeck, используя PostGres для базы данных.
Проблема, с которой я сталкиваюсь, заключается в сопоставлении моей локальной установки postgres с образом рабочей среды докера.Порт postgres работает на 5432, и с помощью netstat
подтвердил, что порт открыт и прослушивается.Порт для rundeck должен быть запущен на 4440.
Я пробовал следующую команду:
docker run -p 127.0.0.1:4440:4440 -e RUNDECK_DATABASE_URL=jdbc:postgresql://localhost/rundeck -e RUNDECK_DATABASE_DRIVER=org.postgresql.Driver -e RUNDECK_DATABASE_USERNAME=xxx -e RUNDECK_DATABASE_PASSWORD=xxx --name test-rundeck -t rundeck/rundeck:3.0.19
Но он не работает с ошибкой: Connection to 127.0.0.1:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP
I 'я думаю, это потому, что внутренний порт 5432 не сопоставлен с портом 5432 док-контейнера?
Я попытался сопоставить порты с помощью -p 127.0.0.1:5432:5432
, но это не удалось из-за ошибки:
Error starting userland proxy: listen tcp 127.0.0.1:5432: bind: address already in use
В этот момент я мог бы просто прибегнуть к запуску PostGres и Rundeck в качестве образов докеров, но яскорее хотел бы решить эту проблему.
Есть какие-нибудь идеи о том, как сопоставить локальный PostGres с докером, запускающим Rundeck?