君は心理学者なのか?

大学時代に心理学を専攻しなぜかプログラマになった、サイコ(心理学)プログラマかろてんの雑記。

DockerでMySQLコンテナを起動し、Sequel Proで接続してみる

f:id:karoten512:20180107101032j:plain

MySQL、ちょっとだけ試したい時がある

「indexってどうやって貼るんだっけ?」

「外部キー制約ってどういうふうに効いてくるんだっけ?」

「ちょっとSQLの練習がしてみたいなぁ」

というとき、

DBとして残すほどではないけどMySQLを試したいな〜と思います。

そんなときはDocker

Dockerなら、環境を本当に簡単につくることができます。

手順

MySQL公式イメージをpull

$ docker pull mysql

コンテナを走らせる

$ docker run --name mysql -e MYSQL_ROOT_PASSWORD=mysql -d -p 3307:3306 mysql

e オプション

e オプションを使うことにより、コンテナに環境変数を渡すことが出来ます。

渡せる環境変数は公式サイトの「Environment Variables」で確認が可能です。

https://hub.docker.com/_/mysql/

p オプション

-p ホストマシンのポート番号:コンテナのポート番号

という書き方をすると、

コンテナのポートが公開され、

ホストマシンと通信ができるようになります。

今回は、コンテナの3306番を公開し、

ホストマシンの3307番と通信させています。

Sequel Proの設定

f:id:karoten512:20180107103444p:plain

これでOKです。

vagrantを使ってcoreosを立ち上げている場合、

ホストには、CoreOSのprivate ipを記述すれば大丈夫です。

まとめ

手軽に環境が作れるので、Dockerは本当に便利。