I'm trying to run rabbitMQ using docker-compose, but the service is always starting or unhealthy.
rabbit is running fine, so I suspect there is something wrong with my health check.
Running the healthcheck command locally does return a value.
> curl -f http://localhost:5672 AMQP % But docker-compose ps always says the service is unhealthy (or starting, before it runs out of time).
> docker-compose ps docker-entrypoint.sh rabbi ... Up (unhealthy) 15671/tcp Here is what my docker-compose.yml file looks like.
# docker-compose.yml version: '2.3' # note: I can't change this version, must be 2.3 volumes: rabbit-data: services: rabbit: hostname: 'rabbit' image: rabbitmq:3.8.5-management healthcheck: test: ["CMD", "curl", "-f", "http://localhost:5672"] interval: 30s timeout: 30s retries: 3 ports: - '5672:5672' - '15672:15672' volumes: - 'rabbit-data:/var/lib/rabbitmq/mnesia/' networks: - rabbitmq networks: rabbitmq: driver: bridge I have also tried using nc instead of curl in the healthcheck, but got the same result.
healthcheck: test: [ "CMD", "nc", "-z", "localhost", "5672" ]