前回の座談会でDockerを使用して、開発をされてらっしゃる方がいたので私も感化されて、開発環境をVagrantからDockerに移動しようと目論んでいる。
(こういうデザインできるとめっちゃいいですよね。)
どちらも仮想環境を構築するプログラムではあるがロッカーの場合はコンテナを使用することで複数のレイヤーからなるイメージをセットアップすることができる。
つまりということかと言うVagrantよりアプリケーションの追加がしやすいというのがさっと学んだ印象。
もちろん、Vagrantも任意のboxを用意すれば、自動で任意の環境を構築できる。
そういう意味ではどちらも近いような気がする。
仕組みとしては、Linux上で動くDockerエンジン(クジラの部分)上で動くコンテナ(OSだったり、ミドルウェア、アプリだったり)を積み上げていって放り込んで動かしていく感じです。
まぁそれはさておきDockerを導入していくあたり、windows10では、HyperVもしくは、VirtualBoxを使用するやり方がある。
今回はバーチャルボックスを利用していく。
本体ダウンロード
まずDocker Tool Box、及びVirtualBoxをダウンロード&インストール。
そうするとデスクトップに3つアイコンが追加されているはず。
・VirtualBox
・Docker Quickstart Terminal
・Kitematic(Alpha)
Dockerエンジン起動
Docker Quickstart Terminalを起動するとバーチャルマシンの設定と起動が行われる。
コンテナ準備
今回はワードプレスの開発環境用意したいのでワードプレスのイメージとMySQLのイメージをプルする。
その後docker runをすることで、ワードプレスの画面が表示されるのだが、DBと連携が取れていない。
コンテナのイメージの指定、マウントファイルの設定、その他の環境変数の設定はドキュメントルート内にあるdocker-compose.yml内に記述すると一括で処理してくれる。
docker-composeは、DockerToolBoxに入っているオーケストレーションツールの1種で、複数のコンテナを同時に扱ったり、ネットワークの設定までできる、便利なやつ。
今回は、環境変数は.envファイルに記述した。
#docker-compose.yml
|
起動
Docker Quickstart Terminal内でドキュメントルートまで移動し、
docker-compose up -d
でバックグラウンドで起動が行われる。
最初はコンテナのダウンロードに時間がかかるが、しばらく待つとlocalhostにアクセスすることで、wordpressの初期設定が行える画面が表示されるはず。
感想
・コンテナを指定するだけで、すぐ環境が用意できるし、規格化がされているから、便利。
・導入が手軽なのはいい。
・dockerはもちろん、オーケストレーションツールを使いこなすのがミソな気がする。
・あと、思ったよりコンテナが軽い?