#前提
Docker 18.09.1
MySQL 5.7
#初期データ投入
Dockerコンテナ起動時にもろもろの初期設定(設定、DB作成、データ投入)ができます
#永続化
Dockerコンテナを削除してしまっても、データを残すことができます
docker-compose.yml
mysql:
build: mysql
volumes:
## 永続化 ##
- "./mysql/data:/var/lib/mysql"
## 初期データ投入 ##
- "./mysql/init:/docker-entrypoint-initdb.d"
ports:
- "3306:3306"
docker-compose.yml
├ mysql/
├ dockerfile
├ data/
├ init/
├ 1_create_db.sql
├ 2_setting.sh
├ 3_insert_data.sql
data:永続化用のディレクトリ
init:は初期データ、設定ファイルを配置
1_create_db.sql DDL
2_setting.sh 設定
3_insert_data.sql てすとでーた
$docker-compose up
で起動すると、init配下のファイルたちがasciiコード順で実行され、もろもろが反映されます。
起動後にdata配下を確認して、、、ファイルができてれば成功です。
この状態でdocker container rm を行ってもデータは保持されます。
docker-compose.ymlを含むディレクトリをコピーすればDBの状態を再現可能です。