読者です 読者をやめる 読者になる 読者になる

OSXでDockerを試す

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アダプタを追加しておけば、いちいちポートフォワードしなくてよいのでよさげ。