【Docker】MySQL(MariaDB)コンテナ起動時に初期データを投入する

構成

loading...

docker-compose.yml

loading...

コンテナ初回起動時に/docker-entrypoint-initdb.dにある.sh.sql.sql.gz拡張子のファイルがアルファベット順に実行されるので./sqlを/docker-entrypoint-initdb.dにマウントします。 それにより./sql/init.sqlが実行されることになります。

init.sql

loading...

起動

loading...

データ確認

コンテナIDの確認

loading...

loading...

CONTAINER IDをコピーします。

コンテナに接続

loading...

MySQLに接続

loading...

データベース確認

loading...

loading...

テーブル確認

loading...

loading...

loading...

loading...

データ確認

loading...

loading...

変更が反映されない場合

マウントしたsqlは初回起動時のみ実行されるのでinit.sqlを編集して再度適用させたい場合は、docker-compose downで一度コンテナを削除してから再度docker-compose up -dしてみてください。

参考

Mysql – Official Image | Docker Hub