表題の通り。`brew update`した際にDockerのversionもupdateされているようであったのでdocker-machineで使用するVMもアップグレードすることにした。
■ 環境
- Docker 1.8.2
- docker-machine 0.3.1
■ before
versionは下記の通り。
$ docker version
Client:
Version: 1.8.1
API version: 1.20
Go version: go1.4.2
Git commit: d12ea79
Built: Thu Aug 13 02:49:29 UTC 2015
OS/Arch: darwin/amd64
Server:
Version: 1.8.1
API version: 1.20
Go version: go1.4.2
Git commit: d12ea79
Built: Thu Aug 13 02:49:29 UTC 2015
OS/Arch: linux/amd64
$
■ upgrade
`docker-machine`で`upgrade`コマンドが存在するので実行する。
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
local * virtualbox Running tcp://192.168.99.100:2376
$
$ docker-machine upgrade local
Stopping machine to do the upgrade...
Upgrading machine local...
Downloading https://github.com/boot2docker/boot2docker/releases/download/v1.8.2/boot2docker.iso to /Users/withsin/.docker/machine/cache/boot2docker.iso...
Starting machine back up...
Starting VM...
$
再度versionを確認。
$ docker version
Client:
Version: 1.8.1
API version: 1.20
Go version: go1.4.2
Git commit: d12ea79
Built: Thu Aug 13 02:49:29 UTC 2015
OS/Arch: darwin/amd64
Server:
Version: 1.8.2
API version: 1.20
Go version: go1.4.2
Git commit: 0a8c2e3
Built: Thu Sep 10 19:10:10 UTC 2015
OS/Arch: linux/amd64
$
ここで気がついたのだが、client側のDockerのversionが上がっていない。もちろん前述の内容ではupgradeはされないのだが、事前に下記コマンドを実行していたはずである。
$ brew upgrade docker
現在のversionは下記であるはずなのだが…。
$ brew info docker
docker: stable 1.8.2 (bottled), HEAD
Pack, ship and run any application as a lightweight container
https://www.docker.com/
/usr/local/Cellar/docker/1.8.2 (9 files, 9.4M)
Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/docker.rb
==> Dependencies
Build: go ✘
==> Options
--with-experimental
Enable experimental features
--without-completions
Disable bash/zsh completions
--HEAD
Install HEAD version
==> Caveats
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
zsh completion has been installed to:
/usr/local/share/zsh/site-functions
$
確認してみると、`/usr/local/bin/docker`がシンボリックリンクで存在しているはずなのだが、現在は実体として存在している。現在のdockerのバイナリを別名にし、シンボリックリンクを作成し直して下記のようになった。
$ docker version
Client:
Version: 1.8.2
API version: 1.20
Go version: go1.5.1
Git commit: 0a8c2e3
Built: Fri Sep 11 01:46:35 UTC 2015
OS/Arch: darwin/amd64
Server:
Version: 1.8.2
API version: 1.20
Go version: go1.4.2
Git commit: 0a8c2e3
Built: Thu Sep 10 19:10:10 UTC 2015
OS/Arch: linux/amd64
$
なぜ実体になっていたのか、どの時点でインストールされてしまったのか、わかる範囲で調べてみる。
以上。