Docker 编写健康检查 mysql

Fei*_*Fei 2 mysql docker docker-compose

我使用以下设置:1. Docker 引擎:18.02.0-ce-rc1,2. Compose 1.18.0,3. Mac

  mysql:
    image: mysql:5.6
    container_name: app-db
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    healthcheck:
      test: /usr/bin/mysql --host=127.0.0.1 --user=user --password=password --silent --execute \"SELECT 1;\"
      interval: 30s
      timeout: 10s
      retries: 5
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql
    networks:
      - app
    restart: always
Run Code Online (Sandbox Code Playgroud)

但我总是很快就会收到以下错误(几秒钟内)

docker-compose up
Creating network "compose_app" with the default driver
Creating app-db ... done
Creating app-db ... 

ERROR: for app  Container "bf94292aa4fa" is unhealthy.
ERROR: Encountered errors while bringing up the project.
Run Code Online (Sandbox Code Playgroud)

请帮忙。谢谢

rok*_*rok 5

mysql健康检查大概应该如下:

    healthcheck:
      test: mysql ${MYSQL_DATABASE} --user=${MYSQL_USER} --password='${MYSQL_PASSWORD}' --silent --execute "SELECT 1;"
      interval: 30s
      timeout: 10s
      retries: 5      
Run Code Online (Sandbox Code Playgroud)