こんにちは、エンジニアのNakataです。入社当初はJavaScriptでの画面開発を主に行っていましたが、最近は様々な言語やデータベースを使った開発や業務にも携わっています。そんな業務の一部でMySQLを使用することになったのですがインストールがうまくいかず、調べてみると.NET Framework周りが原因と判明しました。ですがC#での開発も行っており、設定はできるだけ変えたくないという問題もありました。そこで先輩に相談すると簡単にMySQL環境を用意できるDockerを勧められ、使ってみるととても便利でした。今回はそのDockerについてまとめていきたいと思います。
Dockerとは
Dockerとは環境の設定がコード化されたファイルから目的の仮想環境を作成することができる、仮想化ソフトウェアです。環境の設定がコード化されたファイルはDockerfileと呼ばれ、このファイルに環境の設定を書き込むことができます。DockerfileからDockerイメージを作成することができ、このDockerイメージから仮想環境が構築されます。Dockerイメージから構築された仮想環境がDockerコンテナです。このDockerコンテナ内で目的のアプリケーションを動作させることが可能になります。
Dockerには以下の特徴やメリットがあります。
Docker for Windows導入
今回はDocker for Windowsを使用しました。使用したPCのOSとスペックは以下になります。
- OS:Windows 10 Pro
- CPU:Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz 1.99GHz
- メモリ:16.0GB
以下のダウンロードページからインストーラーをダウンロードします。その際アカウントの作成が必要になります。
https://store.docker.com/editions/community/docker-ce-desktop-windows
インストーラーを起動し表示される指示通りにインストールを進めます。インストールが完了したら再起動しましょう。エラーが表示されなくなり以下のように表示されていれば設定完了です。
MySQL環境構築
MySQLのDockerイメージからDockerコンテナの作成を行い、MySQL環境を構築します。
以下のコマンドでMySQLのDockerイメージをDocker Hubから入手し、コンテナの作成と起動までを行います。
Docker HubとはDockerイメージを共有できるレジストリサービスです。また、今回使用したDockerイメージはこちらになります。
1 |
$ docker run --name mytest-mysql -e MYSQL_ROOT_PASSWORD=passworrd -p 33306:3306 -d mysql:latest |
設定については以下のようになっています。詳しい設定方法についてはこちらに書いてあります。
- –name:コンテナに割り当てられる名前
- -e MYSQL_ROOT_PASSWORD:rootユーザーのパスワード
- -p:ポートフォワーディングの設定
- -d:MySQLのバージョン指定 latestで最新のバージョンを取得
これでMySQL環境の構築が完了しました。以下のコマンドで起動中のコンテナを表示することができます。
1 |
$ docker ps |
MySQLクライアントから接続確認をしてみましょう。
今回はMySQL Workbenchから確認しました。
成功です。
最後に
今回はWindows上でDocker for Windowsを使用しMySQL環境を構築しました。Dockerでの環境構築は思っていたより簡単で使ってみると楽でした。今後もちょっとした開発を行う時などに使っていきたいと思います。