patterndockerMajor
docker-compose healthcheck for rabbitMQ
Viewed 0 times
rabbitmqdockerhealthcheckforcompose
Problem
I'm trying to run
rabbit is running fine, so I suspect there is something wrong with my health check.
Running the healthcheck command locally does return a value.
But
Here is what my docker-compose.yml file looks like.
I have also tried using
From https://github.com/docker-library/rabbitmq/issues/326
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/tcpHere 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" ]
From https://github.com/docker-library/rabbitmq/issues/326
Solution
You could use the command
More information on how to run more advanced health checks could be found here
rabbitmq-diagnostics -q ping in case you just need a basic check.healthcheck:
test: rabbitmq-diagnostics -q ping
interval: 30s
timeout: 30s
retries: 3More information on how to run more advanced health checks could be found here
Code Snippets
healthcheck:
test: rabbitmq-diagnostics -q ping
interval: 30s
timeout: 30s
retries: 3Context
StackExchange DevOps Q#12092, answer score: 42
Revisions (0)
No revisions yet.