version: "3.1" services: db: image: mysql:8.0 restart: always environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: distributor MYSQL_USER: distributor MYSQL_PASSWORD: letmein ports: - 3306:3306 healthcheck: test: mysql --user=$$MYSQL_USER --password=$$MYSQL_PASSWORD --silent --execute "SHOW DATABASES;" interval: 3s timeout: 2s retries: 5 distributor: build: context: . dockerfile: ./cmd/Dockerfile command: [ "--alsologtostderr", "--v=2", "--mysql_uri=distributor:letmein@tcp(db:3306)/distributor", "--witness_config_file=/var/config/witnesses.yaml", ] ports: - "8080:8080" restart: always depends_on: db: condition: service_healthy volumes: - ./config/witnesses-dev.yaml:/var/config/witnesses.yaml