LoginSignup
87
86

More than 5 years have passed since last update.

DockerToolboxに移行した時のメモ

Last updated at Posted at 2015-08-13

※2015/08/29 追記
現在DockerToolboxでVirtualBoxも同時にインストールすると最新の5.0.2がインストールされますが
このバージョンがDockerMachineと相性が悪く、VMが起動しないという罠があります。
https://github.com/docker/machine/issues/1716

VirtualBoxのバージョンを5.0.0に下げるか、
こちらから次期テストバージョンの5.0.3をインストールしましょう。

DockerToolbox

Docker1.8リリースと同時に DockerToolbox というものが公開された。
https://www.docker.com/toolbox

要するに、Dockerまわりの環境を全部入りしたインストーラ。
2015/8/14 時点では以下のツールが同梱されている。

  • Docker クライアント
  • Docker Machine(Docker入りVM操作ツール)
  • Docker Compose(Docker複数コンテナ連携管理)(※Macのみ)
  • Docker Kitematic(Dockerコンテナ用GUI)
  • VirtualBox

良い機会なので、boot2dockerを完全に止めて
こちらのツールに寄せることにした。
boot2dockerの代替としては、docker-machineを利用する。

既存環境のアンインストール

コマンドツール系は干渉すると嫌なので予め削除しておくことにした。

消すのは以下のツール。
VirtualBoxはとりあえずそのまま残しておく。

  • docker クライアント
  • docker-compose(fig)
  • docker-machine
# 消す
brew uninstall —force docker
brew uninstall —force docker-compose
brew uninstall —force docker-machine

# 以下のコマンドでゴミが残っていないか確認。残ってたら手動で問答無用に削除
which docker-compose
which fig
which docker-machine
which docker

Docker Toolboxでインストール

サイト にダウンロードリンクがあるので
ダウンロードしたらそのまま実行してインストーラの起動。
あとは普通に進めれば良い。

途中、既存のboot2dockerのVMをマイグレーションするかどうか聞かれたので「Migrate」にしといた。
特にハマることなく移行することが出来た。
既存のイメージは残したままDockerバージョンも最新にしてくれるのでだいぶ良い。

スクリーンショット 2015-08-13 11.13.48.png

Docker MachineのVM名は default で作られるようである。
(ちなみにDockerMachineでも、isoはboot2docker.isoを利用している)

Docker MachineでVM起動

おそらく、インストーラで入れた直後はVM起動されているが
Macを再起動した後などはboot2dockerと同様に手動で起動する必要がある。

以下のコマンドで、VM起動とDocker周りの環境変数を設定すれば
あとは今までと同様に利用することができる。

# docker machineで起動コマンド + 環境変数設定 (&& でつなげると何故か無応答になる…
$ docker-machine start default
$ eval "$(docker-machine env default)"

# 上記は、boot2docker時代の以下のコマンドと同じことをしている
$ boot2docker up
$ $(boot2docker shellinit)

bashrcなどに以下のif文を入れておくと、
コンソールOpen時にVMが起動されていれば自動で環境変数を設定してくれるので楽。

# docker-machine
if [ "`docker-machine status default`" = "Running" ]; then
   eval "$(docker-machine env default)"
fi

DockerToolboxアップグレード時

Docker本体がバージョンアップした時、DockerToolbox自体もアップグレードされるはず。
その場合、上記インストーラを利用すればツール系はそのままアップグレードされる。

ただしVMは更新されないので、DockerToolbox更新後に以下のコマンドを実行する必要がある。

docker-machine upgrade default

boot2docker時代は一度VMをdeleteする必要があったが、
DockerToolboxを利用するとupgradeだけで済むので既存のイメージは残したままアップデートできる。嬉しい。

まとめ

おそらく、今後Dockerのエコシステムを簡単に利用するためにも
DockerToolboxで今のうちに移行しておくのは良いことだと思います。
どんどん乗っかって楽していきましょう〜

ps.
YAPCでちょろっとこの辺りのことも話すかもしれませんので、興味ある方はぜひお越しください〜

Ref

87
86
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
87
86