Kitematic(docker-toolbox)を使ってMySQLコンテナを立ち上げる方法


何をするのか

DockerコンテナとしてMySQLサービスを立ち上げる。
Immutable Infrastructureが加速するかなと思い検証。
Kitematicを使うとすごく簡単にDBコンテナを立ち上げることができた。

前準備

docker-toolboxをインストールし、中にあるKitematicを利用できるようにしておく
https://www.docker.com/products/docker-toolbox

MySQLのDockerイメージダウンロード

初回実行時のエラー

error: database is uninitialized and password option is not specified 
  You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD

設定の変更

MYSQL_DATABASE=mydb
MYSQL_USER=user
MYSQL_PASSWORD=secret
MYSQL_ROOT_PASSWORD=topsecret

接続先情報の確認

192.168.99.100:32773に接続すると、MySQLの3306ポートに接続できるようだ

接続テスト

mysql -h 192.168.99.100 -P 32773 -u mysqluser -p
Enter password:  (<- secret)
mysql> use mydb;
mysql> create table hoge(vkey varchar(64), vvalue varchar(255));
mysql> show tables;
+--------------------------------------+
| Tables_in_mydb                       |
+--------------------------------------+
| hoge                                 |
+--------------------------------------+
1 rows in set (0.00 sec)

感想

簡単にMySQLサーバを準備できた
Dockerコンテナを利用しているのでローカルが汚れない
他にもRedis, MongoDB等を簡単に準備できるので開発フェーズでの新しいストレージへの導入敷居は下がる(ただし、運用コストが下がるとは言い切れないので注意)