0

我在 geoserver 和 postgres 之间有一个 docker 网络。当我做 docker 检查时container name,我可以看到两者是链接的。当我执行到 geoserver 容器中时,我可以 ping postgres 容器但是当我尝试从 geoserver 容器中连接到 postgres db 时出现错误

psql:无法将主机名转换postgres为地址:名称或服务未知

这是我的 docker-compose 的示例:

version: '2'
services:

postgres:
  image: kartoza/postgis:9.5-2.2
geoserver:
  image: geonode/geoserver
  hostname: geonode-geoserver
  links:
    - postgres:postgres
  ports:
    - "8181:8080"

我知道 docker 网络/etc/hosts没有填充文件。如何启用从地理服务器容器访问数据库。

4

3 回答 3

0

geoserver服务可能在postgres服务可用之前启动。

请参阅https://docs.docker.com/compose/startup-order/

于 2016-09-29T15:28:03.093 回答
0

在 geoserver 服务定义更改中:

  • postgres:postgres

至:

  • postgres:kartoza/postgis:9.5-2.2

您需要将服务名称与图像名称匹配

于 2016-10-12T20:51:37.633 回答
0

您应该使用定义的网络来解析没有链接的名称,并在 geoserver 之前使用depends_on来启动 postgres。

于 2016-09-29T16:50:59.090 回答