Mysqlの練習に有用なDocker imageを発見!
どもです。MOSCHINOってメンズが手を出していいのか微妙な気持ちになりますね。saisaiです。
インフラエンジニアとして従事して8ヶ月くらいが経とうとしています。しかし、エンジニアとして押さえておかなきゃまずいのにずっと目をそらしてきた項目が一つあります。
…データベースです。ユーザを作る、データベースを作る、テーブルを作るくらいしかできません。
Web系企業で働く身として、今のままではあまりに危険なので本格的に学習をはじめました。そして早速つまづくことになるのです。
練習用DBどうやって用意しよう…。
どこかに良さそうな練習用DBが転がっていないかなあと思っていたその時!
Twitterでなにやら練習に便利そうなdocker imageがdocker hubに転がっているというtweetを発見しました!
実際にリポジトリにアクセス!
https://hub.docker.com/r/genschsa/mysql-employees
なるほど、これは使ってみるしかねえべ!ってことで早速セットアップしてみました!
今回はその様子をお届けします。
※OSはMac、dockerのセットアップは事前に済ませてあります。
さっそくセットアップしてみる
まずはdocker imageをローカルにpullしましょう。
saisai % docker pull genschsa/mysql-employees
イメージがローカルにpullされました。
saisai % docker images
genschsa/mysql-employees latest 66a5499920f9 2 years ago 544MB
それではコンテナを生成・起動しましょう。起動コマンドはdocker hubのリポジトリに記載されています。
saisai % docker run -d \
--name mysql-employees \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=college \
-v $PWD/data:/var/lib/mysql \
genschsa/mysql-employees
起動しているかチェックです!ついでにコンテナ名(NAMES)も控えておきましょう。
saisai % docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
xxxxxxxxxxxx genschsa/mysql-employees "docker-entrypoint.s…" 26 minutes ago Up 26 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-employees
起動していますね!では実際にコンテナにログインしていきましょう。
docker exec -it mysql-employees /bin/bash
これで無事コンテナの中にログインできたと思います。では、コンテナ内に用意されているMySQLデータベースに突撃!
$ mysql -u root -p
※パスワードは起動時にcollegeで設定しています。
キタ!データベースにログインできましたね!
中には30万件近いデータが格納されているようです!これは練習しがいがありますね!
ひとこと
こんなにさくっと練習環境が手に入るのは素晴らしいことです!好き勝手触れますし、何かやらかしたとしても、コンテナを停止削除して再び立ち上げれば元どおりなので心置きなく練習できそうです。本番環境でのDBやらかしなんて絶対できないですからね…。
あとはお好みのMySQL教材をご準備いただき、練習して知識を深めましょう!
ここまで読んでいただきありがとうございました!
-saisai-
↓オススメ教材