WindowsでVagrantを使ったdokcer環境構築

Windows で Vagrant を使った dokcer 環境構築

Windows で docker を使う

Windows で docker を使う場合、まず公式の docker for Windows を使うと思いますが、Linux 系のコンテナを動かそうとすると、ボリュームがうまくマウントされないなどの問題が発生します。

最近では、WSL2 で dokcer を動かすと解決するかもしれませんが、ここでは、Virtualbox + Vagrant で docker 環境を構築する方法を紹介します。
(VMで構築すると、環境のリセットがしやすいなどの利点があります。)

VM の OS は CentOS を使う

OS は CentOS7 を使います。
docker を動かすだけなら、 CoreOS という docker を動かすためだけの軽量な OS があるのですが、今回 SVN 等のツールをインストールしたかったことと、
日頃業務で使っていて慣れているため、この OS で docker 環境を構築します。

VagantFileの作成

下記内容をコピペして Vagrantfile という名前でファイルを作成してください。
CentOSのインストール、初期構築、Dockerにインストールを行う記述をしています。
社内的に、 SVN を利用するので、SVNのインストールも行っていますが、使用しない場合は、削除してもらっても構いません。

Vagrant up によりVM起動

Vagrantfile のあるディレクトリで$ vagrant up するだけで、docker 環境の構築は完了です。

VM が起動したら、$ vagrant ssh で ssh ログインして、 docker, docker-compose コマンドを使うことができます。

下記のように実行できれば無事Docker実行環境が構築できています。

Hello World コンテナの実行も確認できるはずです。

出来上がったDocker実行環境で、いろいろ Docker を使ってみてください。
ちなみに、VMを停止する場合は、 $ vagrant halt と実行してください。

注意点

カーネルはupdateしない

guest additions のバージョンが合わなくなり、うまく共有フォルダがマウントされなくなるなどの不具合が起きるため、カーネルは update しないように気をつけてください。

Vagrantfile の内容の補足

docker-compose のインストールについて

手動で docker-compose のバージョンを指定する方法を紹介されているサイトが多いですが、
ここでは、 github よりバージョンを取得していることで、上記の Vagrantfile をそのままコピペするだけで、docker-composeをインストールできるようにしています。