Macのdockerを1.0にアップグレードする

まだ、docker 1.0になってからアップグレードしてないMacがあったので、アップグレードしました。

古いboot2dockerのアンインストール

次の手順でboot2dockerをインストールしていた人はこの手順を行う必要があります。

# これでインストールしてた人は一度消す必要がある
$ brew tap homebrew/binary
$ brew install boot2docker docker

1.0からbrew caskでインストールできるようになりました。 逆に、普通にbrewではインストールできないようになりました。 そのため、一度boot2dockerをアンインストールします。

boot2dockerが起動していたらstopします。

$ boot2docker stop
[2014-06-15 13:50:35] Shutting down boot2docker-vm...

使っていたtiny core Linuxを削除します。

$ boot2docker delete

boot2dockerをアンインストールします。さらば。

$ brew uninstall boot2docker docker
Uninstalling /usr/local/Cellar/boot2docker/0.9.1...

brew caskでboot2dockerをインストール

まずは、updateしましょう。

$ brew update

caskが入っていない場合は、インストールします。

$ brew tap phinze/homebrew-cask
$ brew install brew-cask

入っている場合はupgrade

$ brew upgrade brew-cask

あとはインストールするだけ!

brew cask install boot2docker
==> Downloading https://github.com/boot2docker/osx-installer/releases/download/v1.0.0/Boot2Docker-1.0.0.pkg
######################################################################## 100.0%
==> Running installer for boot2docker; your password may be necessary.
Password:
==> installer: Package name is Boot2Docker for Mac OS X
==> installer: Upgrading at base path /
==> installer: The upgrade was successful.
 boot2docker installed to '/opt/homebrew-cask/Caskroom/boot2docker/1.0.0' (135M)

以前のboot2dockerと比べてもコマンドが増えてる。。

# old
$ boot2docker
Usage /usr/local/bin/boot2docker {init|start|up|save|pause|stop|restart|status|info|delete|ssh|download}
# new
$ boot2docker
Usage: boot2docker [<options>] {help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|delete|download|version} [<args>]

動作確認

[IP Address]の部分は適当なものを入れてください。

$ boot2docker init
$ boot2docker up
$ export DOCKER_HOST=tcp://[IP Address]:2375
$ boot2docker ssh
Warning: Permanently added '[localhost]:2022' (RSA) to the list of known hosts.
                        ##        .
                  ## ## ##       ==
               ## ## ## ##      ===
           /""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
           \______ o          __/
             \    \        __/
              \____\______/
 _                 _   ____     _            _
| |__   ___   ___ | |_|___ \ __| | ___   ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
boot2docker: 1.0.0
             master : 16013ee - Mon Jun  9 16:33:25 UTC 2014

無事upgradeできました。Moby Dockかわいい。

$ docker version
Client version: 1.0.0
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 63fe64c
Server version: 1.0.0
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 63fe64c

出会ったエラー

no such file or directory

DOCKER_HOSTをExportしてないと出ます。

$ docker images
Get http:///var/run/docker.sock/v1.12/images/json: dial unix /var/run/docker.sock: no such file or directory

DOCKER_HOSTをExportしましょう。

export DOCKER_HOST=tcp://[IP Address]:2375

permission denied

悩んだ。。

VPNにつないでいるとおかしいっぽいです(◞‸◟)。 VPNを切りましょう。VPNに接続したままやる方法はよくわかりません。

$ docker images
Get http://[IP Address]:2375/v1.12/images/json: dial tcp [IP Address]:2375: permission denied

参考