Skip to content

Instantly share code, notes, and snippets.

@phuysmans
Created January 8, 2018 09:29
Show Gist options
  • Save phuysmans/4f67a7fa1b0c6809a86f014694ac6c3a to your computer and use it in GitHub Desktop.
Save phuysmans/4f67a7fa1b0c6809a86f014694ac6c3a to your computer and use it in GitHub Desktop.
docker compose health check example
version: '2.1'
services:
php:
tty: true
build:
context: .
dockerfile: tests/Docker/Dockerfile-PHP
args:
version: cli
volumes:
- ./src:/var/www/src
- ./tests:/var/www/tests
- ./build:/var/www/build
- ./phpunit.xml.dist:/var/www/phpunit.xml.dist
depends_on:
couchbase:
condition: service_healthy
memcached:
condition: service_started
mysql:
condition: service_healthy
postgresql:
condition: service_healthy
redis:
condition: service_healthy
couchbase:
build:
context: .
dockerfile: tests/Docker/Dockerfile-Couchbase
healthcheck:
test: ["CMD", "curl", "-f", "http://Administrator:password@localhost:8091/pools/default/buckets/default"]
interval: 1s
timeout: 3s
retries: 60
memcached:
image: memcached
# not sure how to properly healthcheck
mysql:
image: mysql
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
- MYSQL_ROOT_PASSWORD=
- MYSQL_DATABASE=cache
healthcheck:
test: ["CMD", "mysql" ,"-h", "mysql", "-P", "3306", "-u", "root", "-e", "SELECT 1", "cache"]
interval: 1s
timeout: 3s
retries: 30
postgresql:
image: postgres
environment:
- POSTGRES_PASSWORD=
- POSTGRES_DB=cache
healthcheck:
test: ["CMD", "pg_isready"]
interval: 1s
timeout: 3s
retries: 30
redis:
image: redis
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 1s
timeout: 3s
retries: 30
@nathanfranke
Copy link

We're literally working with docker health checks, it's too easy to get frustrated with this stuff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment