>  Q&A  >  본문

docker-compose 상태 확인을 통과했지만 여전히 비정상입니다.

condition 在版本 3.0 至 3.8 中已删除 compose 规范,但现在又回来了!使用 compose 规范 v3.9 版本,您可以使用 condition 作为 depends_on 긴 구문 형식의 옵션입니다.

저는 docker compose를 사용하여 MySQL 및 Java 웹 프로젝트를 시작합니다. JavaWeb을 시작하려면 완전한 데이터를 생성하기 위해 MySQL이 필요하므로 healthcheck를 사용합니다

하지만 mysql healthcheck有问题,这是我的docker-compose

으아아아

잘못된 설명은 다음과 같습니다.

으아아아

콘솔 출력:

으아아아

mysql healthcheck의 fubaquant 종속 항목으로 인해 fubaquant도 시작되지 않습니다

mysql 컨테이너의 상태 확인 로그는 다음과 같습니다.

mysql의 헬스체크 로그를 확인해 보니 역시 건강하네요

도와주셔서 감사합니다

P粉596161915P粉596161915236일 전343

모든 응답(2)나는 대답할 것이다

  • P粉316890884

    P粉3168908842024-02-27 00:28:40

    잘못된 사용자와 비밀번호로 상태체크를 실행하려는 것 같습니다. 당신은

    으아악

    $mysql3456에서는 이러한 변수의 값을 분석하려고 시도합니다. 원하는 것은 다음을 사용하는 것입니다.

    으아악

    이것은 사용자 mysql 和密码 123456 运行 mysaqladmin (两者都定义为 docker-compose 上 mysql 서비스의 환경 변수를 사용하려고 시도합니다)

    회신하다
    0
  • P粉022140576

    P粉0221405762024-02-27 00:26:56

    1초 간격으로 3번만 재시도할 수 있도록 상태 확인을 구성했습니다. Compose가 Java를 시작할 때 mysql 서비스는 이 3초 지연 내에 정상 상태에 도달하지 않았으므로 Compose가 중지되고 이 오류를 보고합니다. 재시도 횟수를 늘리면 괜찮을 것입니다

    회신하다
    0
  • 취소회신하다