Docker-compose: MySQL 연결 준비 확인
Docker Compose에서는 애플리케이션 컨테이너를 시작하기 전에 데이터베이스 연결의 가용성을 보장할 수 있습니다. 오케스트레이션의 중요한 단계입니다. 이를 달성하기 위해 healthcheck 및 dependency_on 옵션이 편리한 솔루션을 제공합니다.
그러나 MySQL에 대한 효과적인 상태 확인을 구성하는 것은 어려울 수 있습니다. 쿼리에 언급된 접근 방식을 살펴보고 제한 사항을 평가해 보겠습니다.
해결책은 다른 상태 확인 명령에 있습니다.
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
이 명령은 로컬 호스트에서 MySQL 서버의 가용성을 확인하고 연결 준비 상태를 나타내는 신뢰할 수 있는 지표 역할을 합니다. 이 상태 확인을 사용하면 MySQL이 완전히 초기화되고 네트워크 연결을 통해 액세스할 수 있는 경우에만 애플리케이션 컨테이너가 시작되도록 할 수 있습니다.
Docker Compose 파일에서 다음과 같이 이 상태 확인을 통합할 수 있습니다.
services: api: ... depends_on: db: condition: service_healthy db: ... healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] timeout: 20s retries: 10
이 구성을 사용하면 api 컨테이너는 시작하기 전에 db 컨테이너의 상태 확인이 성공할 때까지 기다려 MySQL이 연결을 수락할 준비가 되었는지 확인하고 부팅 전 마이그레이션의 위험을 최소화합니다. 또는 애플리케이션 오류.
위 내용은 Docker Compose에서 MySQL 연결 준비 상태를 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!