自分用(._.) φ メモメモ
■概要
docker-machine 0.3 は、boot2docker(VirtualBox)の仮想マシンイメージを docker-machine で扱えるように変換することができる。コンテナや、コンテナイメージをそのまま移行できる。変換のためには、
$ docker-machine create -d virtualbox --virtualbox-import-boot2docker-vm boot2docker-vm b2d
を実行する。「b2d」の部分はドキュメントのままだが、local-docker等、任意のものを指定する事も可能。
なお、boot2docker が使用する VirtualBox 用の仮想マシン・イメージ(boot2docker-vm)は残り続けるため、別々の環境として利用することも可能。
■Windows 7 (CygWin上) での移行記録
まず、移行用コマンドの実行。予め boot2docker の最新版と、docker-machine for Win 64bit の最新版(v.0.3.0) をセットアップしておいた。
zembutsu@zembutsu-PC ~ $ docker-machine create -d virtualbox --virtualbox-import-boot2docker-vm boot2docker-vm b2d Creating VirtualBox VM... Starting VirtualBox VM... Starting VM... To see how to connect Docker to this machine, run: C:\cygwin64\bin\docker-machine env b2d
Docker にアクセスする環境変数は、Cygwin上のため「–shell linux」オプションを指定する。
$ docker-machine env b2d --shell linux export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.99.100:2376" export DOCKER_CERT_PATH="C:\Users\zembutsu\.docker\machine\machines\b2d" export DOCKER_MACHINE_NAME="b2d"
あとは、この export 行を実行する。
※ CMD.exe の場合は「–shell cmd」を入力して、表示される set 行を実行する。
あとは、「docker-machine ls」を実行する。
zembutsu@zembutsu-PC ~ $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM b2d * virtualbox Running tcp://192.168.99.100:2376
あとは docker-machine ssh b2d で boot2docker 風に使うこともできる。CygWin 以外の環境であれば、そのまま Docker デーモンの操作をコマンドライン上でも行うことが可能。
※なお、現時点の Docker Machine v0.3.0 はベータ版であり、本番環境の利用は推奨されていない。ただし、これまでローカルはboot2dockerを使い、リモートはDocker Machineを併用する必要があった。開発中とはいえ、クライアントを docker-machine で一本化できるのはメリットがある。
※boot2docker との決定的な違いは、boot2docker が VirtualBox 上の仮想マシンが固定だったのに対し、docker-machine 経由であれば、複数の VirtualBox VM を任意の名称で作成・破棄が楽にできる点が大きい。