Mysqlの練習に有用なDocker imageを発見!

10月 11, 2023

どもです。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-


↓オススメ教材

Docker

Posted by CY