链接网络中的两个docker容器

时间:2016-09-29 14:42:36

标签: docker docker-compose docker-networking

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

  

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

以下是我的docker-compose示例:

postgres

我知道在docker网络中没有填充version: '2' services: postgres: image: kartoza/postgis:9.5-2.2 geoserver: image: geonode/geoserver hostname: geonode-geoserver links: - postgres:postgres ports: - "8181:8080" 文件。如何启用从geoserver容器访问数据库。

3 个答案:

答案 0 :(得分:0)

geoserver服务可能在postgres服务可用之前开始。

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

答案 1 :(得分:0)

您应该使用defined network来获取没有链接的解析名称,并使用depends_on在geoserver之前启动postgres。

答案 2 :(得分:0)

geoserver服务定义中的

更改:

  • postgres的:postgres的

为:

  • postgres的:kartoza / PostGIS的:9.5-2.2

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

相关问题