コンテナ型仮想化ソフト「Docker」。コンテナと呼ばれる環境の内部でLinuxが動作する、開発環境の構築だけではなく、本番環境でも利用可能な技術として注目を集めています。
本来開発者やインフラ管理者のための技術ですが、Linux環境を簡単に提供できることから、オープンソースソフトの実行環境としてDockerを利用する場合も多くなってきました。
Dockerは開発者だけではなく、ソフトを使う側の一般ユーザーにとっても、無視できなくなるソフトになりつつあるのかもしれません。
今回はMac/Windowsで簡単にDocker環境を構築できる「Docker for Mac」と「Docker for Windows」の使用法を説明したいと思います。
Docker for Macの使用方法
Docker for MacはOS X El Capitan 10.11以降が動作するMacに対応しています(ハードウェア的にはMMU仮想化をサポートしたIntelハードウェアが必要)。
公式サイトのInstall Docker for MacからDocker.dmgをダウンロードし、Docker.appをアプリケーションフォルダにコピーします。
▲メニューバーのアイコンをクリックし「Docker is running」と表示されれば準備完了。メニューバーからDockerの再起動や、CPUの割り当てなどを変更することもできますが、大部分の操作はターミナルを開いてコマンドを実行して行います。
▲コマンドが正しくインストールされているか確認します。ターミナルを開き「docker version」「docker-compose version」「docker-machine version」を実行します。コマンドが実行できれば成功です。
ざっくりいってdockerは一つのコンテナを操作するためのコマンド、docker-composeは複数のコンテナをまとめて操作するためのコマンドとなります。Dockerでは一つのコンテナが一つの機能を提供するのが良いとされているため、例えばWebサーバーやDBサーバー用のコンテナをまとめて扱うために、docker-composeも良く使うコマンドとなります。
次にGet started with Docker for Macに従い、実際にDockerを利用してWebサーバーを起動してみます。ターミナルを開き、以下のコマンドを実行しましょう。
docker run -d -p 8080:80 --name webserver nginx
nginxの公式イメージをダウンロードし、そこから作られるコンテナにwebserverという名前をつけ(--name webserver)、バックグラウンドで(-d)、ポートを変換し(-p 8080:80。コンテナ側80をホスト側8080に変換)、実行する(run)という意味です。
▲「http://localhost:8080」にアクセスすると、Dockerのコンテナとして動作しているnginxにアクセスすることができます。
実行中のコンテナを「docker ps」で確認したり、ダウンロードしたイメージは「docker images」で確認できます。
dockerではこのようにコマンドラインを利用してコンテナを操作できるほか、Dockerfileと呼ばれる設定ファイルを利用することもできます(一方docker-composeでもdocker-compose.ymlと呼ばれる設定ファイルを使います)。
さらなる詳細はDocker Documentation等を参照していただければと思います。
Docker for Windowsの使用方法
Docker for Windowsを実行するには、Windows 10 Pro/Enterprise/Educationの64bit版が必要です。
Install Docker for WindowsからInstallDocker.msiをダウンロードしてインストールします。
インストール後コマンドプロンプトを開いて「docker version」「docker-compose version」「docker-machine version」を実行します。
コマンドが正しく実行できれば成功です。
dockerやdocker-composeコマンドの操作はMac版と同様です。
まとめ
Docker for Mac/Windowsを利用すれば、Docker環境をお手軽に構築することができます。
今後活用範囲がさらに広がりそうなDockerに親しんでおきたい方はインストールしてみてはいかがでしょうか。