Docker で Mysql を使ったローカル環境を構築

Docker で Mysql を使ったローカル環境を構築


docker mysql

Docker Image のダウンロードと起動

mysql の docker image をダウンロードしてコンテナを作成します。

1.docker hub からmysqlのイメージを取得します。

# mysql最新版のイメージを取得しています
docker image pull mysql:latest


2.「sample」というボリュームを作成します。

$ docker volume create sample


3.コンテナを作成して起動します。

$ docker container run --name sample-mysql -v sample:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=samplepassword -d mysql:latest
docker run (option)


4.起動しているか確認します。

$ docker container ls
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                 NAMES
eb523eee5eb8   mysql:latest   "docker-entrypoint.s…"   56 seconds ago   Up 56 seconds   3306/tcp, 33060/tcp   sample-mysql


コンテナに接続してサンプルデータベースの作成

作成したmysqlコンテナに入って、永続化のサンプルデータを作成します。
1.コンテナに接続

$ docker exec -it sample-mysql bash
# git bash 等の場合、先頭に winpty を付ける必要がある
# winpty docker exec -it sample-mysql bash


2.mysqlに接続

$ mysql -p


3.mysqlのコマンドを使用してデータベース、テーブル、インサートを行う

# データベース作成
create database sample;
# 作成したsampleを指定
use sample;
# sampleテーブル作成
create table sample(id int, name varchar(20));
# データインサート
insert into sample(id, name) values (1,"tanaka");
# インサートデータの確認
select * from sample;
+------+--------+
| id   | name   |
+------+--------+
|    1 | tanaka |
+------+--------+
# mysql コマンド終了
exit


4.mysql コンテナから出ます。

$ exit


データの永続化の確認

上記で作成したコンテナでインサートしたデータが永続化されているかを確認します。
1.コンテナを停止させます。

$ docker container stop sample-mysql


2.コンテナを作成・起動します(1回目とは別のコンテナ名で)

$ docker container run --name sample-mysql2 -v sample:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=samplepassword -d mysql:latest


3.コンテナに接続(1回目とは別のコンテナ名で)

$ docker exec -it sample-mysql2 bash


4.mysqlに接続

$ mysql -p


5.データベースの中身を確認

# sampleデータベースを指定
use sample;
# インサートデータの確認
select * from sample;
+------+--------+
| id   | name   |
+------+--------+
|    1 | tanaka |
+------+--------+
# mysql コマンド終了
exit



© 2024 Chinta