Docker Compose에서 일회성 명령 실행 방법
명령을 한 번만 실행하면 되는 Docker 환경을 설정하려면, 데이터베이스 채우기와 같은 권장 접근 방식은 진입점 스크립트를 활용하는 것입니다.
진입점 스크립트
컨테이너 이미지 내에서 일반적으로 Entrypoint.sh라는 이름의 진입점 스크립트를 만듭니다. . 이 스크립트는 데이터베이스 초기화가 완료되었는지 확인하고 그렇지 않은 경우 필요한 작업을 수행합니다.
다음은 공식 WordPress 이미지를 기반으로 한 예시 진입점 스크립트입니다.
#!/bin/bash set -e # Function to check if database initialization is needed is_init_needed() { # Insert database initialization check logic here return 0 } # Check if initialization is needed if is_init_needed; then # Perform database initialization echo "Initializing database..." /usr/bin/mysql -u "root" -p"$MYSQL_ROOT_PASSWORD" -h "mysql" < /usr/local/init.sql echo "Database initialized successfully." fi # Start the application exec "$@"
Docker Compose 구성
docker-compose.yml 파일에서 다음과 같이 초기화가 필요한 서비스의 진입점 키에 진입점 스크립트를 지정합니다.
services: my_project: build: . entrypoint: ["./entrypoint.sh"] ...
추가 참고 사항
위 내용은 Entrypoint 스크립트를 사용하여 Docker Compose에서 일회성 명령을 실행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!