【发布时间】:2019-01-18 02:52:12
【问题描述】:
我有一个“开箱即用”的 Spring Data Neo4j 应用程序,它在与运行在我的盒子上的 Neo4j 服务器通信时可以正常工作。 “开箱即用”是指我在应用程序中所做的唯一配置是指定 Neo4j 的用户名和密码。
该应用程序(使用 ./gradlew bootRun 运行)也可以在 dockerised Neo4j 服务器上正常工作。
当我为这个应用构建一个 docker 镜像时,它无法连接到 Neo4j 服务器,无论它是否被 dockerised。
当它起作用时,它会说:
2019-01-18 12:58:49.311 INFO 18345 --- [restartedMain] 驱动程序:为服务器地址 localhost:7687 创建的直接驱动程序实例 1080149308
当它不起作用时,它会说:
2019-01-18 02:27:53.760 INFO 1 --- [main] Driver : 为服务器地址 localhost:7687 创建的直接驱动程序实例 707892422
2019-01-18 02:27:54.100 INFO 1 --- [main] ConnectionPool : 关闭连接池到 localhost:7687
[...]
原因:org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannel$AnnotatedConnectException:连接被拒绝:localhost/127.0.0.1:7687
我尝试使用 --link 链接两个 docker(app 和 Neo4j docker)。结果一样。
我尝试过编写它们:
version: '3'
services:
docker-neo:
image: neo4j:3.5
ports:
- 7687:7687
- 7474:7474
godojo:
image: com.greenasjade.j01/j01
depends_on:
- docker-neo
ports:
- 8081:8081
不开心。
我最终需要一个 dockerised 解决方案。
【问题讨论】:
标签: spring-boot docker spring-data-neo4j