表題の通り。docker-machineを用いて複数のDockerホストの管理を少しかじってみる。
■ 環境
- docker-machine 0.3.1
- Mac OSX (10.10.5)
■ 1台のDockerホスト
先日のエントリで稼働させたDockerホストをそのまま利用する。現時点では下記の通り。
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
test virtualbox Running tcp://192.168.99.100:2376
$
起動させただけでは上記のままである。docker-machineでVMを起動時に表示されたコマンドの通り環境変数に入れると表記が少し変わるようだ。実行しているシェルで、どのDockerホストにアクセスしているのかが把握できる。
$ eval $(docker-machine env test)
$
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
test * virtualbox Running tcp://192.168.99.100:2376
$
■ 2台のDockerホスト
2台目を追加で起動する。
$ docker-machine create --driver virtualbox test2
Creating VirtualBox VM...
Creating SSH key...
Starting VirtualBox VM...
Starting VM...
To see how to connect Docker to this machine, run: docker-machine env test2
$
この状態で一覧を見てみる。
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
test2 virtualbox Running tcp://192.168.99.101:2376
test * virtualbox Running tcp://192.168.99.100:2376
$
Dockerホストの管理が容易そうである。シェル毎に環境変数に入れる必要があるが、どこにアクセスしているのかも確認がしやすいだろう。boot2dockerの時は`~/.bash_profile`等に直書きしていたが、自身で起動・設定したDockerホストの時は環境変数から`unset`しなければならなかったりしたので、こちらの方が良いのかもしれない。
さらにSwarmで複数のDockerホストをひとつのDockerクラスタで扱う…というようなイメージになるのであろうか。順次見ていくことにする。
以上。