homebrewでインストールしてみたら一部のコマンドがエラーになったので
公式サイトに記載されているboot2dockerを利用する方法に変更。
boot2dockerのインストール
DockerはUnixシステム上での動作を前提としており、Macの場合はVertualBox経由で動作させることになる。boot2dockerというツールがあるのでそちらを使う。
ダウンロード
以下よりダウンロード。現在の最新は1.2.0
https://github.com/boot2docker/osx-installer/releases
ダウンロードしたらインストール
初期化
初期化はインストール直後に一度だけでよい。
$ boot2docker init
起動
$ boot2docker start Waiting for VM and Docker daemon to start... .........ooo Started. Writing /Users/hoge/.boot2docker/certs/boot2docker-vm/ca.pem Writing /Users/hoge/.boot2docker/certs/boot2docker-vm/cert.pem Writing /Users/hoge/.boot2docker/certs/boot2docker-vm/key.pem To connect the Docker client to the Docker daemon, please set: export DOCKER_HOST=tcp://192.168.59.103:2376 export DOCKER_CERT_PATH=/Users/hoge/.boot2docker/certs/boot2docker-vm export DOCKER_TLS_VERIFY=1
起動するとDOCKER_HOSTが案内されるのでそれに従う。
上記はshellinitコマンドでも再確認ができる。
$ boot2docker shellinit Writing /Users/hoge/.boot2docker/certs/boot2docker-vm/ca.pem Writing /Users/hoge/.boot2docker/certs/boot2docker-vm/cert.pem Writing /Users/hoge/.boot2docker/certs/boot2docker-vm/key.pem export DOCKER_HOST=tcp://192.168.59.103:2376 export DOCKER_CERT_PATH=/Users/hoge/.boot2docker/certs/boot2docker-vm export DOCKER_TLS_VERIFY=1
環境変数をまとめてセットするには以下のようにする。
$ eval "$(boot2docker shellinit)"
確認
状態を確認してみよう
$ boot2docker status running
コマンドが利用可能になっているはず。
$ docker --version Docker version 1.2.0, build fa7b24f
停止
boot2docker stop
トラブルシューティング
docker daemonが停止する
作業中、なんらかの理由でdocker daemonが停止し、コマンドがエラーになることがある。
$ docker images 2014/09/14 14:39:11 Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
このような場合にはboot2dockerを再起動する
$ boot2docker restart ##または $ boot2docker stop $ boot2docker start
サーバーへのアクセスがタイムアウトする
$ docker search tutorial FATA[0020] Error response from daemon: Get https://index.docker.io/v1/search?q=tutorial: dial tcp: lookup index.docker.io on 192.168.0.1:53: read udp 192.168.0.1:53: i/o timeout
この場合もboot2dockerの再起動で回復する
$ boot2docker restart ##または $ boot2docker stop $ boot2docker start
アップグレード
$ boot2docker stop $ boot2docker upgrade