MySQL 컨테이너가 초기화되기를 기다리는 중
Docker 컨테이너는 애플리케이션 실행을 위한 격리된 환경을 제공합니다. 여러 컨테이너를 배포할 때 종속성을 조정해야 하는 경우가 많습니다. 이 경우 다른 작업을 진행하기 전에 MySQL 컨테이너의 데이터베이스가 준비될 때까지 기다리는 것이 필수적입니다.
이전에는 MySQL이 준비될 때까지 기다리는 스크립트를 실행하는 시도가 있었지만 이 접근 방식은 신뢰할 수 없었습니다. 진입점 설정 스크립트를 사용하여 경쟁 조건을 설정합니다. 보다 강력한 솔루션을 찾기 위해 사용자는 bash sleep 명령을 고려했지만 그 한계를 인식했습니다.
더 우아하고 효과적인 접근 방식은 mysql-client 패키지의 mysqladmin 유틸리티를 사용하는 것입니다. 이 유틸리티는 대상 서버에 ping을 보내 응답하는지 확인할 수 있습니다. mysqladmin ping을 슬립 루프와 결합하면 간단한 대기 메커니즘을 구현할 수 있습니다.
while ! mysqladmin ping -h"$DB_HOST" --silent; do sleep 1 done
이 루프는 MySQL 컨테이너가 응답할 때까지 반복적으로 ping을 실행하여 다른 작업을 진행하기 전에 데이터베이스가 준비되었는지 확인합니다.
위 내용은 계속하기 전에 MySQL 컨테이너가 준비되었는지 확실하게 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!