boot2dockerでMacでDockerを使ってみる

今までWindows上でVagrantVirtualBox上のUbuntuにDockerをインストールして動かしていたのですが、自宅のMacBook ProにもDocker環境を作ってみようと思い、Dockerの公式サイトでも紹介されていたboot2dockerをインストールしてみました。

インストールは非常に簡単で、Mac用のインストーラをダウンロードしてインストールするだけです。boot2dockerはDockerを直接Mac上で実行するわけではなく、仮想マシン上のLinuxで実行するものですが、boot2dockerのインストーラVirtualBoxも一緒にインストールされるので非常にお手軽です。

あとはアプリケーションからboot2docker.appを実行するか、ターミナルから以下のコマンドを実行するとDockerを利用可能になります。

$ boot2docker init
$ boot2docker start
$ export DOCKER_HOST=tcp://$(boot2docker ip 2>/dev/null):2375

この状態でVirtualBoxのコンソールを起動すると以下のようにboot2dockerが起動されていることを確認できます。

あとは普通にdockerコマンドを使用することができます。実際にDockerは仮想マシン上で実行されているのですが、それを意識する必要はありません。

以下のコマンドでboot2dockerを終了することができます。

$ boot2docker halt

ちなみにVagrantも1.6でDockerをサポートしていますが、やはり同じようにDocker自体は仮想マシン上での動作になります。また、Windowsではプロバイダにdockerを指定する場合、Cygwinを入れておかないと(rsyncが必要っぽい)起動できないという問題があるようです。

VagrantfileにDockerfileを指定しておくとVMの起動と同時にコンテナを起動できたりするようですが、ホスト側から直接dockerコマンドを叩いたりはできないようなので、MacでDockerを使うのであればboot2dockerが手軽でよいのではないかと思います。