Docker Compose でワンタイム コマンドを実行する方法
コマンドを 1 回だけ実行する必要がある Docker 環境をセットアップするには、データベースの作成など、エントリポイントを利用することをお勧めします。 script.
Entrypoint Script
コンテナ イメージ内にエントリポイント スクリプトを作成します (通常は、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"] ...
追加メモ
以上がDocker Compose でエントリポイント スクリプトを使用してワンタイム コマンドを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。