paion-data / aristotle

A web servide enables you to create knowledge graph.
https://aristotle-ws.com
3 stars 0 forks source link

Docker "Unable to connect to db:7687" #16

Closed QubitPi closed 4 days ago

QubitPi commented 5 days ago

I was following https://paion-data.github.io/aristotle/docs/intro and docker compose up --build --force-recreate gives the following error

7687 seems to be working but this error is very misleading so we need to eliminate it:

$ docker compose up --build --force-recreate
[+] Building 5.4s (8/8) FINISHED                                                                                                                     docker:desktop-linux
 => [web internal] load build definition from Dockerfile                                                                                                             0.0s
 => => transferring dockerfile: 1.00kB                                                                                                                               0.0s
 => [web internal] load .dockerignore                                                                                                                                0.0s
 => => transferring context: 2B                                                                                                                                      0.0s
 => [web internal] load metadata for docker.io/library/ubuntu:22.04                                                                                                  5.3s
 => [web 1/3] FROM docker.io/library/ubuntu:22.04@sha256:58b87898e82351c6cf9cf5b9f3c20257bb9e2dcf33af051e12ce532d7f94e3fe                                            0.0s
 => [web internal] load build context                                                                                                                                0.0s
 => => transferring context: 83B                                                                                                                                     0.0s
 => CACHED [web 2/3] RUN apt update &&     apt upgrade -y &&     apt install -y software-properties-common wget openjdk-17-jdk                                       0.0s
 => CACHED [web 3/3] COPY ./target/Aristotle-1.0-SNAPSHOT.jar /tmp/app.jar                                                                                           0.0s
 => [web] exporting to image                                                                                                                                         0.0s
 => => exporting layers                                                                                                                                              0.0s
 => => writing image sha256:692d470b7cab64d322fb72c651c3e82a12c1ebb798422e436dbe25b9d998a27b                                                                         0.0s
 => => naming to docker.io/library/aristotle-web                                                                                                                     0.0s
[+] Running 2/2
 ✔ Container aristotle-web-1  Recreated                                                                                                                              0.0s
 ✔ Container aristotle-db-1   Recreated                                                                                                                              0.1s
Attaching to db-1, web-1
db-1   | NEO4JLABS_PLUGINS has been renamed to NEO4J_PLUGINS since Neo4j 5.0.0.
db-1   | The old name will still work, but is likely to be deprecated in future releases.
db-1   | Installing Plugin 'apoc' from /var/lib/neo4j/labs/apoc-*-core.jar to /var/lib/neo4j/plugins/apoc.jar
db-1   | Applying default values for plugin apoc to neo4j.conf
web-1  |
web-1  |   .   ____          _            __ _ _
web-1  |  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
web-1  | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
web-1  |  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
web-1  |   '  |____| .__|_| |_|_| |_\__, | / / / /
web-1  |  =========|_|==============|___/=/_/_/_/
web-1  |  :: Spring Boot ::                (v2.7.3)
web-1  |
web-1  | 2024-09-24 05:05:01.007  INFO 1 --- [           main] c.p.aristotle.AristotleApplication       : Starting AristotleApplication v1.0-SNAPSHOT using Java 17.0.12 on b94e28f4a588 with PID 1 (/tmp/app.jar started by root in /)
web-1  | 2024-09-24 05:05:01.010  INFO 1 --- [           main] c.p.aristotle.AristotleApplication       : No active profile set, falling back to 1 default profile: "default"
web-1  | 2024-09-24 05:05:02.145  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Neo4j repositories in DEFAULT mode.
web-1  | 2024-09-24 05:05:02.208  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 56 ms. Found 3 Neo4j repository interfaces.
web-1  | 2024-09-24 05:05:02.950  INFO 1 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'beanPostProcessorConfig' of type [com.paiondata.aristotle.config.BeanPostProcessorConfig$$EnhancerBySpringCGLIB$$5d7bb109] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
web-1  | 2024-09-24 05:05:03.420  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
web-1  | 2024-09-24 05:05:03.435  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
web-1  | 2024-09-24 05:05:03.435  INFO 1 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.65]
web-1  | 2024-09-24 05:05:03.559  INFO 1 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
web-1  | 2024-09-24 05:05:03.559  INFO 1 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2451 ms
db-1   | Changed password for user 'neo4j'. IMPORTANT: this change will only take effect if performed before the database is started for the first time.
web-1  | 2024-09-24 05:05:04.074  INFO 1 --- [           main] org.neo4j.driver.internal.DriverFactory  : Direct driver instance 859123506 created for server address db:7687
web-1  | 2024-09-24 05:05:05.416  INFO 1 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 1 endpoint(s) beneath base path '/actuator'
web-1  | 2024-09-24 05:05:07.003  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
web-1  | 2024-09-24 05:05:07.907  INFO 1 --- [           main] c.p.aristotle.AristotleApplication       : Started AristotleApplication in 7.508 seconds (JVM running for 8.038)
web-1  | 2024-09-24 05:05:08.151  WARN 1 --- [           main] o.n.d.i.r.ExponentialBackoffRetryLogic   : Transaction failed and will be retried in 995ms
web-1  |
web-1  | org.neo4j.driver.exceptions.ServiceUnavailableException: Unable to connect to db:7687, ensure the database is running and that there is a working network connection to it.
web-1  |    at org.neo4j.driver.internal.util.Futures.blockingGet(Futures.java:111) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.beginTransaction(InternalSession.java:148) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.lambda$transaction$4(InternalSession.java:135) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.retry.ExponentialBackoffRetryLogic.retry(ExponentialBackoffRetryLogic.java:106) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.transaction(InternalSession.java:134) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.writeTransaction(InternalSession.java:113) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.writeTransaction(InternalSession.java:108) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at com.paiondata.aristotle.config.ConstraintInitializer.run(ConstraintInitializer.java:42) ~[classes!/:1.0-SNAPSHOT]
web-1  |    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:771) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:755) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at com.paiondata.aristotle.AristotleApplication.main(AristotleApplication.java:36) ~[classes!/:1.0-SNAPSHOT]
web-1  |    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
web-1  |    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
web-1  |    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
web-1  |    at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[na:na]
web-1  |    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[app.jar:1.0-SNAPSHOT]
web-1  |    at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) ~[app.jar:1.0-SNAPSHOT]
web-1  |    at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[app.jar:1.0-SNAPSHOT]
web-1  |    at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) ~[app.jar:1.0-SNAPSHOT]
web-1  |    Suppressed: org.neo4j.driver.internal.util.ErrorUtil$InternalExceptionCause: null
web-1  |        at org.neo4j.driver.internal.async.connection.ChannelConnectedListener.databaseUnavailableError(ChannelConnectedListener.java:72) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.async.connection.ChannelConnectedListener.operationComplete(ChannelConnectedListener.java:66) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.async.connection.ChannelConnectedListener.operationComplete(ChannelConnectedListener.java:36) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:321) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:337) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na]
web-1  | Caused by: org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: db/172.18.0.2:7687
web-1  | Caused by: java.net.ConnectException: Connection refused
web-1  |    at java.base/sun.nio.ch.Net.pollConnect(Native Method) ~[na:na]
web-1  |    at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[na:na]
web-1  |    at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946) ~[na:na]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na]
web-1  |
db-1   | 2024-09-24 05:05:08.965+0000 INFO  Logging config in use: File '/var/lib/neo4j/conf/user-logs.xml'
db-1   | 2024-09-24 05:05:08.983+0000 INFO  Starting...
web-1  | 2024-09-24 05:05:09.151  WARN 1 --- [           main] o.n.d.i.r.ExponentialBackoffRetryLogic   : Transaction failed and will be retried in 1763ms
web-1  |
web-1  | org.neo4j.driver.exceptions.ServiceUnavailableException: Unable to connect to db:7687, ensure the database is running and that there is a working network connection to it.
web-1  |    at org.neo4j.driver.internal.util.Futures.blockingGet(Futures.java:111) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.beginTransaction(InternalSession.java:148) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.lambda$transaction$4(InternalSession.java:135) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.retry.ExponentialBackoffRetryLogic.retry(ExponentialBackoffRetryLogic.java:106) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.transaction(InternalSession.java:134) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.writeTransaction(InternalSession.java:113) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.writeTransaction(InternalSession.java:108) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at com.paiondata.aristotle.config.ConstraintInitializer.run(ConstraintInitializer.java:42) ~[classes!/:1.0-SNAPSHOT]
web-1  |    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:771) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:755) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at com.paiondata.aristotle.AristotleApplication.main(AristotleApplication.java:36) ~[classes!/:1.0-SNAPSHOT]
web-1  |    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
web-1  |    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
web-1  |    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
web-1  |    at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[na:na]
web-1  |    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[app.jar:1.0-SNAPSHOT]
web-1  |    at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) ~[app.jar:1.0-SNAPSHOT]
web-1  |    at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[app.jar:1.0-SNAPSHOT]
web-1  |    at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) ~[app.jar:1.0-SNAPSHOT]
web-1  |    Suppressed: org.neo4j.driver.internal.util.ErrorUtil$InternalExceptionCause: null
web-1  |        at org.neo4j.driver.internal.async.connection.ChannelConnectedListener.databaseUnavailableError(ChannelConnectedListener.java:72) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.async.connection.ChannelConnectedListener.operationComplete(ChannelConnectedListener.java:66) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.async.connection.ChannelConnectedListener.operationComplete(ChannelConnectedListener.java:36) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:321) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:337) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na]
web-1  | Caused by: org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: db/172.18.0.2:7687
web-1  | Caused by: java.net.ConnectException: Connection refused
web-1  |    at java.base/sun.nio.ch.Net.pollConnect(Native Method) ~[na:na]
web-1  |    at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[na:na]
web-1  |    at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946) ~[na:na]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na]
web-1  |
db-1   | 2024-09-24 05:05:09.922+0000 INFO  This instance is ServerId{b3ceb86c} (b3ceb86c-e52b-4373-b482-c40f0306f08b)
web-1  | 2024-09-24 05:05:10.919  WARN 1 --- [           main] o.n.d.i.r.ExponentialBackoffRetryLogic   : Transaction failed and will be retried in 3943ms
web-1  |
web-1  | org.neo4j.driver.exceptions.ServiceUnavailableException: Unable to connect to db:7687, ensure the database is running and that there is a working network connection to it.
web-1  |    at org.neo4j.driver.internal.util.Futures.blockingGet(Futures.java:111) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.beginTransaction(InternalSession.java:148) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.lambda$transaction$4(InternalSession.java:135) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.retry.ExponentialBackoffRetryLogic.retry(ExponentialBackoffRetryLogic.java:106) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.transaction(InternalSession.java:134) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.writeTransaction(InternalSession.java:113) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.InternalSession.writeTransaction(InternalSession.java:108) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at com.paiondata.aristotle.config.ConstraintInitializer.run(ConstraintInitializer.java:42) ~[classes!/:1.0-SNAPSHOT]
web-1  |    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:771) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:755) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-2.7.3.jar!/:2.7.3]
web-1  |    at com.paiondata.aristotle.AristotleApplication.main(AristotleApplication.java:36) ~[classes!/:1.0-SNAPSHOT]
web-1  |    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
web-1  |    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
web-1  |    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
web-1  |    at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[na:na]
web-1  |    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[app.jar:1.0-SNAPSHOT]
web-1  |    at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) ~[app.jar:1.0-SNAPSHOT]
web-1  |    at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[app.jar:1.0-SNAPSHOT]
web-1  |    at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) ~[app.jar:1.0-SNAPSHOT]
web-1  |    Suppressed: org.neo4j.driver.internal.util.ErrorUtil$InternalExceptionCause: null
web-1  |        at org.neo4j.driver.internal.async.connection.ChannelConnectedListener.databaseUnavailableError(ChannelConnectedListener.java:72) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.async.connection.ChannelConnectedListener.operationComplete(ChannelConnectedListener.java:66) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.async.connection.ChannelConnectedListener.operationComplete(ChannelConnectedListener.java:36) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:321) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:337) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |        at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na]
web-1  | Caused by: org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: db/172.18.0.2:7687
web-1  | Caused by: java.net.ConnectException: Connection refused
web-1  |    at java.base/sun.nio.ch.Net.pollConnect(Native Method) ~[na:na]
web-1  |    at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[na:na]
web-1  |    at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946) ~[na:na]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[neo4j-java-driver-4.4.11.jar!/:4.4.11-7d3fdc18543dae49c0c337b2885771b4f38a288d]
web-1  |    at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na]
web-1  |
db-1   | 2024-09-24 05:05:11.192+0000 INFO  ======== Neo4j 5.23.0 ========
db-1   | 2024-09-24 05:05:14.518+0000 INFO  Anonymous Usage Data is being sent to Neo4j, see https://neo4j.com/docs/usage-data/
db-1   | 2024-09-24 05:05:16.128+0000 INFO  Bolt enabled on 0.0.0.0:7687.
db-1   | 2024-09-24 05:05:16.852+0000 INFO  HTTP enabled on 0.0.0.0:7474.
db-1   | 2024-09-24 05:05:16.853+0000 INFO  Remote interface available at http://localhost:7474/
db-1   | 2024-09-24 05:05:16.859+0000 INFO  id: A3C64B5FF6D4F3267163405789274526D617E22CB19476150B42DF1B7B09DAF0
db-1   | 2024-09-24 05:05:16.860+0000 INFO  name: system
db-1   | 2024-09-24 05:05:16.860+0000 INFO  creationDate: 2024-09-24T05:01:37.595Z
db-1   | 2024-09-24 05:05:16.861+0000 INFO  Started.
web-1  | 2024-09-24 05:05:44.472  INFO 1 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
web-1  | 2024-09-24 05:05:44.473  INFO 1 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
web-1  | 2024-09-24 05:05:44.475  INFO 1 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 2 ms
Doom9527 commented 5 days ago

The problem is caused by some missing configuration in docker-compose and DockerFile, where the web container is started before the db container is started, resulting in an error that the web cannot connect to the database, although the web eventually starts successfully, which is still not good. I will fix it.

QubitPi commented 5 days ago

Consider depends_on if you run out of ideas

Doom9527 commented 5 days ago

I started with this configuration:

services:
  web:
    build: .
    ports:
      - "8080:8080"
    environment:
      NEO4J_URI: bolt://db:7687
      NEO4J_USERNAME: neo4j
      NEO4J_PASSWORD: 12345678
      NEO4J_DATABASE: neo4j
    depends_on:
      db:
        condition: service_healthy
  db:
    image: neo4j:latest
    environment:
      NEO4J_AUTH: neo4j/12345678
      NEO4JLABS_PLUGINS: "[\"apoc\"]"
    volumes:
      - neo4j-data:/data
    ports:
      - "7474:7474"
      - "7687:7687"
    healthcheck:
      test: ["CMD-SHELL", "curl", "--fail", "http://db:7474/db/data"]
      interval: 30s
      timeout: 10s
      retries: 5

volumes:
  neo4j-data:

The web container did not start after the db container started successfully. I think the configuration of the healthcheck is faulty:

    healthcheck:
      test: ["CMD-SHELL", "curl", "--fail", "http://db:7474/db/data"]
QubitPi commented 5 days ago

I started with this configuration:

services:
  web:
    build: .
    ports:
      - "8080:8080"
    environment:
      NEO4J_URI: bolt://db:7687
      NEO4J_USERNAME: neo4j
      NEO4J_PASSWORD: 12345678
      NEO4J_DATABASE: neo4j
    depends_on:
      db:
        condition: service_healthy
  db:
    image: neo4j:latest
    environment:
      NEO4J_AUTH: neo4j/12345678
      NEO4JLABS_PLUGINS: "[\"apoc\"]"
    volumes:
      - neo4j-data:/data
    ports:
      - "7474:7474"
      - "7687:7687"
    healthcheck:
      test: ["CMD-SHELL", "curl", "--fail", "http://db:7474/db/data"]
      interval: 30s
      timeout: 10s
      retries: 5

volumes:
  neo4j-data:

The web container did not start after the db container started successfully. I think the configuration of the healthcheck is faulty:

    healthcheck:
      test: ["CMD-SHELL", "curl", "--fail", "http://db:7474/db/data"]

I would actually try bare command instead of list if that helps

    healthcheck:
      test: curl --fail http://db:7474/db/data
      timeout: 3s
      retries: 5

By the way, an interval of 30s seems to be long enough for a user to simply walk away