1.概要
MySQLの公式Dockerイメージを使用する際、/docker-entrypoint-initdb.d は特別なディレクトリとして機能します。コンテナが初めて起動されるとき、このディレクトリ内に存在する .sql ファイルや .sh スクリプトは自動的に実行されます。これにより、初期データベースの設定やテーブルの作成などの初期化タスクを自動化できます。
2.実例
(docker-compose.ymlの内容(volumes設定抜粋))
volumes:
– ./init:/docker-entrypoint-initdb.d
上記のvolumes、Dockerコンテナとホストマシン間で、データボリュームをマウントするための設定です。
./init:/docker-entrypoint-initdb.d は、ホストマシン上のカレントディレクトリ(docker-compose.yml がある場所)にある init ディレクトリを、コンテナ内の /docker-entrypoint-initdb.d ディレクトリにマウントすることを示しています。
の docker-compose.yml の設定を使用すると、ホストマシン上の init ディレクトリにある .sql ファイルや .sh スクリプトを、MySQLコンテナが初めて起動される際に自動的に実行することができます。
