[Docker] ボリュームマウントとmysql

MySQLの環境変数
MYSQ_ROOT_PASSWORD, MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD, MYSQL_RANDOM_ROOT_PASSWORD, MYSQL_ONETIME_PASSWORD

### ボリュームの作成
docker volume create –name ${volumeName}
$ sudo docker volume create mysqlvolume
$ sudo docker volume ls

### mysqlのコンテナを起動
$ sudo docker run -dit –name db01 -v mysqlvolume:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mypassword mysql5.7

### データを入れる
$ sudo docker exec -it db01 /bin/bash
# mysql -p
mysql> create database exampledb;
mysql> create table exampletable (id int not null auto_increment, name varchar(50), primary key(id));
mysql> insert into exampletable (name) values (‘user01’);
mysql> insert into exampletable (name) values (‘user02’);
mysql> select * from exampletable;
$ sudo docker stop db01
$ sudo docker rm db01

$ sudo docker run -dit –name db01 -e MYSQL_ROOT_PASSWORD=mypassword mysql:5.7
$ sudo docker run -dit –name db01 -v mysqlvolume:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mypassword mysql:5.7
$ sudo docker exec -it db01 /bin/bash
mysql> select * from exampletable;
+—-+——–+
| id | name |
+—-+——–+
| 1 | user01 |
| 2 | user02 |
+—-+——–+
2 rows in set (0.00 sec)

docker-composeを使うとよくMySQLが出てくるが、単体で使うとわかりやすいな