22
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Docker+MySQLで初期データ投入と永続化

Last updated at Posted at 2019-01-18

#前提
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の状態を再現可能です。

22
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?