Closed QubitPi closed 4 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.
Consider depends_on if you run out of ideas
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 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 thedb
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
I was following https://paion-data.github.io/aristotle/docs/intro and
docker compose up --build --force-recreate
gives the following error7687 seems to be working but this error is very misleading so we need to eliminate it: