linux - Docker 中的 Confluence 在 Docker 中看不到 PostgreSQL

标签 linux postgresql docker networking confluence

我正在尝试在 Docker 中设置 Confluence 和 PostgreSQL。我已经在我完全最新的 CentOS 6 机器上启动并运行了它们,并将卷映射到主机文件系统,这样我就可以轻松地备份它们。我可以使用另一台机器上的 pgAdmin 连接到 PostgreSQL,我可以从同一台机器上的浏览器进入 Confluence。所以,基本上,这两个应用程序似乎都在各自的容器内按预期运行,并且可供外界访问,这当然消除了我的问题的一大堆可能性。

这个问题是 Confluence 无法在初始设置期间与 PostgreSQL 通信,而这是运行所必需的。我收到连接失败错误(具体来说:“无法到达数据库服务器或端口:SQLState - 08001 org.postgresql.util.PSQLException:连接尝试失败”)。

PostgreSQL 使用默认的 5432 端口,这当然是暴露的,否则我将无法通过 pgAdmin 连接到它,当然我知道我正在尝试的 ID/密码是正确的,原因相同(此外,如果这是一个身份验证问题,我不希望看到此错误消息)。当我在 Confluence 的初始设置期间尝试配置数据库连接时,我指定了主机的 IP 地址,就像从另一台机器上的 pgAdmin 一样,但这不起作用。我还尝试了一些我基本上知道行不通的东西(0.0.0.0、127.0.0.1 和本地主机)。

我不确定我需要做什么才能完成这项工作。是否有一些特殊的方法可以从同一台主机为容器指定 IP,一些我不知道的命名法?

在这一点上,我对 Docker 的基本操作“还行”,但我离专家还很远,所以我有点迷茫。一般来说,我也不是*nix 的忠实用户,尽管我通常 可以摸索大部分事情...但是任何提示都将不胜感激,因为我现在不知所措否则。

谢谢, 弗兰克

编辑 1:根据下面某人的要求,这是我的 pg_hba.conf 文件,减去注释:

    local   all             all                                     trust
    host    all             all             127.0.0.1/32            trust
    host    all             all             ::1/128                 trust
    local   replication     all                                     trust
    host    replication     all             127.0.0.1/32            trust
    host    replication     all             ::1/128                 trust

    host all all all md5

最佳答案

尝试将 pg_hba.conf 文件的第二行更改为以下内容:

host    all    all    0.0.0.0/32    trust

这将导致 PostgreSQL 开始接受来自任何源地址的调用。由于 docker 容器在技术上不是在本地主机上而是在其自己的 ip 上运行,因此当前配置导致 PostgreSQL 阻止与它的任何连接。

同时检查 confluence 是否正在本地主机上搜索数据库。如果是这种情况,请将其更改为 docker 网络中主机的 ip。

关于linux - Docker 中的 Confluence 在 Docker 中看不到 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49044241/

相关文章:

docker - 工作容器无法重新连接到Spark驱动程序

linux - 如何从亚马逊EC2实例下载网站文件和数据库?

linux - Arch Linux 上的 VMware 工具安装(共享文件夹)

linux - lapack/blas/openblas 从源代码正确安装 - 用新的替换系统库

java - 使 Oracle JDK 在 Ubuntu 或 GNU/Linux 操作系统中自动更新

linux - 尽管确实存在,但在 Alpine Docker 容器中收到 [Not Found] 错误

ruby-on-rails - PostgreSQL 复杂索引类型和排序

postgresql - 什么是准备好的陈述?

linux - docker-compose up “错误 : Error processing tar file(archive/tar: invalid tar header)

与PHPUnit一起使用时未检测到PhpStorm Debugger扩展