Docker Rundeck +本地Postgres

时间:2019-04-08 22:16:42

标签: postgresql docker rundeck

我正在尝试使用PostGres作为数据库运行rundeck的docker映像。

我遇到的问题是将本地postgres安装映射到docker rundeck映像。 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

我猜是因为内部5432端口未映射到docker容器端口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作为docker映像运行,但是我想解决此问题。

关于如何将本地PostGres映射到Docker的Rundeck的任何想法?

1 个答案:

答案 0 :(得分:0)

找到了答案。

必须编辑pg_hba.conf文件以允许docker0 ip地址通过。

host    all             all             172.23.0.0/16           md5