3.【Windows10】DockerコンテナでMySQLサーバーを使う方法

【Windows10】DockerコンテナでMySQLサーバーを使う方法

DockerコンテナでMySQLサーバーの作成・起動から、コンテナを停止・再起動・削除する方法を解説します。仮想環境でMySQLサーバーを使用できるようになるため、ローカル環境でMySQLを使ってみたり、SQL文の練習ができるようになります。

目次

コンテナを作成

Dockerを起動し、コマンドプロンプトを開いて次のコマンドでMySQLサーバーのDockerコンテナを作成します。

※Dockerが起動しているかどうかは実行中プログラムのクジラのアイコンで確認できます。

docker create --name mysql_practice -e MYSQL_ROOT_PASSWORD=pass mysql
コンテナを作成

docker create は docker コンテナを作成するためのコマンドです。一番最後の mysql で作成するコンテナの種類を指定しています。

–name オプションでは作成するコンテナに名前をつけることができます。今回は「mysql_practice」という名前を付けています。

-e オプションでは環境変数を設定することができます。今回はMySQLのrootユーザーのパスワードをpassに設定しています。

コンテナを起動

コンテナを作成したら次のコマンドで起動します。

docker start mysql_practice
コンテナを起動

動作中のdockerコンテナを確認

現在動作中のdockerコンテナを確認するには次のコマンドを入力します。

docker ps
動作中のdockerコンテナを確認

図のようにコンテナID、コンテナイメージ、作成された時間、現在のステータスなどが確認できます。

ちなみに動作中でないものも含め、全てのコンテナを確認したいときは -a オプションを付ければOKです。

docker ps -a

コンテナの作成と起動を同時に行う

ちなみに、docker run コマンドを使えばコンテナの作成と起動を同時に行うことができます。

今回作成・起動したものと同じコンテナを docker run コマンドで作る場合は次のコマンドで実現できます。

docker run --name mysql_practice -e MYSQL_ROOT_PASSWORD=pass mysql

Dockerコンテナのシェルに入る

作成したdockerコンテナのシェルに入りましょう。次のコマンドを入力します。

docker exec -it mysql_practice bash

mysql_practice の部分はコンテナの名前です。名前の代わりにコンテナIDを入力しても問題ありません。

Dockerコンテナのシェルに入る

図のように bash-4.4# が表示されます。

MySQLクライアントを起動

MySQLクライアントを起動します。次のコマンドを入力します。

mysql -uroot -p

するとパスワードを聞かれるので、コンテナ作成時に環境変数で指定したパスワードを入力します。

※パスワードは入力中画面に表示されませんので、落ち着いて入力してください。

MySQLクライアントを起動

図のようにプロンプトに mysql> と表示されていればOKです。

動作確認

作成したMySQLサーバのコンテナが問題なく使えるか確認しましょう。

次のコマンドでデータベース一覧を表示することができます。

show databases;
動作確認

問題なさそうですね。

では次は作成したコンテナを片付けてみましょう。

MySQLクライアント、シェルを終了

exit

exit コマンドでMySQLクライアントを終了。

もう一度 exit コマンド でシェルを終了します。

MySQLクライアント、シェルを終了

プロンプトにユーザー名が表示されているはずです。

コンテナを停止

コンテナを停止させてみましょう。次のコマンドを入力します。

docker stop mysql_practice

mysql_practice の部分はコンテナの名前です。代わりにコンテナIDを使っても問題ありません。

コンテナを停止

コンテナを再起動

停止したコンテナを再起動するには、起動時と同様次のコマンドを入力します。

docker start mysql_practice
コンテナを再起動

コンテナを削除

不要になったコンテナを削除するには次のコマンドを実行します。

docker rm mysql_practice

mysql_practice の部分はコンテナの名前です。代わりにコンテナIDを使っても問題ありません。

コンテナを削除

コンテナが削除できているかどうかは次のコマンドで確認できます。

docker ps -a
全てのコンテナの確認
このエントリーをはてなブックマークに追加
カテゴリー: MySQL 投稿日:

最終更新日: 2022年8月27日

コメントを残す

頂いたコメントは一読した後表示させて頂いております。
反映まで数日かかる場合もございますがご了承下さい。