Dockerを使用してMySQL環境の構築方法を紹介します。今回はDocker Composeを使用せずにコマンドで環境を構築します。MySQLの動作確認などに利用して頂ければと思います。
前提条件
Dockerがパソコンにインストール済み
以上です。
環境構築
今回はMySQLが提供している公式のDockerイメージを使用して作成します。作業の流れは
- Dockerイメージの取得
- イメージからコンテナ作成(PULL)
これだけです。これだけでDBサーバーの環境が作れるなんて便利な時代になりましたね。
Dockerイメージの取得(PULL)
MySQLが提供している公式のDockerイメージの紹介ページはこちらです。
https://hub.docker.com/_/mysql
こちらのページにDockerイメージの取得コマンドが記載されています。こちらのコマンドをコンソールで実行してください。
docker pull mysql
これで公式イメージの取得(PULL)は完了です。Docker Desktopで確認するとこんな感じです。
イメージからコンテナ作成
コンテナを作成するには以下のコマンドを実行します。
docker run --name mysql-sample -e MYSQL_ROOT_PASSWORD=rootPass -e MYSQL_DATABASE=my_db -e MYSQL_USER=my_user -e MYSQL_PASSWORD=my_pass -d -p 13306:3306 mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_bin
使用しているオプションについて説明します。
- –name mysql-sample
コンテナ名を指定します。今回はmysql-sampleという名前になります。注意として、コンテナ名には大文字は使用できません。 - -e MYSQL_ROOT_PASSWORD=rootPass
コンテナのrootのパスワードを指定します。 - -e MYSQL_DATABASE=my_db
後からデータベースを作成することも出来るのですが、コンテナ作成時にデータベースも作成する場合はデータベース名を指定します。 - -e MYSQL_USER=my_user
MYSQL_DATABASEで指定したデータベースに接続するユーザ名を指定します。指定したユーザにはデータベースへのGRANT ALL権限が付与されます。 - -e MYSQL_PASSWORD=my_pass
MYSQL_USERで指定したユーザのパスワードを指定します。 - -d
デーモンとして起動するオプション。バックグラウンドで動作します。 - -p 13306:3306
ローカルポートとコンテナのポートを接続するオプション。<ローカルポート>:<コンテナポート>で指定します。 - mysql:latest
タグを指定します。省略時(mysql)の場合、latestが適用されます。latestの場合、最新バージョンでコンテナが作成されます。 - –character-set-server=utf8mb4
作成するMySQLの文字コードを指定します。 - –collation-server=utf8mb4_bin
作成するMySQLの照合順序を指定します。
これでコンテナ作成は完了です。 Docker Desktopで確認するとこんな感じです。
接続確認
クライアントからDockerコンテナのMySQLに接続できることを確認します。
今回はMySQL Workbenchで接続してみます。
- Hostname:ローカルのPC名かIPアドレスを指定します。
- Port:-pオプションで指定したローカルポートを指定します。
- Username:MYSQL_USERで指定したユーザを指定します。
- Default Schema:MYSQL_DATABASEで指定したデータベースを指定します。
OKボタンをクリックします。
- Password:MYSQL_PASSWORDで指定したデータベースを指定します。
OKボタンをクリックします。これで接続ができました。
mysql:latest を指定してコンテナを作成したので、現時点で最新の8.0.26がインストールされているのが確認できます。
コメント