OSXでDockerを試す
雪がひどすぎて外出る気がしない。あー、そういえば、DockerがOSX対応したっていうし、ぼちぼち試してみるかー、と思って http://docs.docker.io/en/latest/installation/vagrant/ みてみたけど、あんまりかわってない気がする、というみなさんこんにちは。
そのページは前からあまり変わっていなくて、
https://github.com/dotcloud/docker/blob/master/docs/sources/installation/mac.rst
こっちが新しい手順らしい。
手順はそのままな気がするけど、homebrewでやればもうちょい簡単なようです。
まずは事前にVirtualBoxをInstallしておきます。
brew tap homebrew/binary brew install docker brew install boot2docker
とやればcurlでごにょごにょしなくてもPATHへ入れてくれます。
すると、boot2dockerとdockerというコマンドができるので、
boot2docker init boot2docker up
とやると、VirtualBox上でDockerが動作するLinuxマシンが起動する。
ローカルのOSXのポート転送してこのVM内のDocker daemonへ飛ばすように設定されているので、
OSX側のTerminalから、
DOCKER_HOST=localhost docker run ubuntu /bin/echo "hello docker"
とかやると、あたかもOSXからそのままDockerできるようになる、という感じらしい。
DOCKER_HOST=localhostをしないと、
2014/02/08 10:57:50 dial unix /var/run/docker.sock: no such file or directory
というエラーが出るのでexportしておくとよい。
あとは、ふつうにチュートリアルをひととおりこなせばよい。
最初と同じく更新が追いついてないっぽいので直接リポジトリ側をみた方がよさげ。
https://github.com/dotcloud/docker/tree/master/docs/sources/examples
Vagrantを入れてなくてもできるようになった。Vagrant sshしなくてもよい、というぐらいではありますが、確かにお手軽に試せるようになったようです。
追記
チュートリアルとかやるときにポートにバインドする例とかあるけど、残念ながら、OSX側にはバインドされないので、boot2docker sshしてログインしたあとにバインドしたポートを叩かないといけないもよう。このあたりvirtualboxのイメージに対して名前でアクセスできて、直接ポートアクセスできる、とかであればよいんだけどな。。。
VirtualBoxのマシンの設定をいじって、Host Onlyアダプタを追加しておけば、いちいちポートフォワードしなくてよいのでよさげ。