先日のエントリの続き。最後に残っていた`node`を試す。
■ 環境
- Shipyard 3.0.3
- Docker 1.10.3
- Docker Machine 0.6.0
- Mac OSX El Capitan
■ docker-machine
Dockerのノード追加となるのでDockerが稼働しているホストが2つ必要である。よって`docker-machine`で下記のように2つのノードを起動した。
$ docker-machine create -d virtualbox shipyard1
Running pre-create checks...
Creating machine...
:
$ docker-machine create -d virtualbox shipyard2
Running pre-create checks...
Creating machine...
:
$
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
local - virtualbox Running tcp://192.168.99.100:2376 v1.10.3
shipyard1 - virtualbox Running tcp://192.168.99.101:2376 v1.10.3
shipyard2 - virtualbox Running tcp://192.168.99.103:2376 v1.10.3
$
“shipyard1“と”shipyard2“を使って`node`を確認する。
■ node1
既に稼働させているが、下記のように稼働させている。
$ eval $(docker-machine env shipyard1)
$
$ curl -s https://shipyard-project.com/deploy | bash -s
:
$
当初はこのまま稼働させて試していたのだが問題に当たって挫折した。下記のように稼働させておく必要があるので、一度`remove`で環境をキレイにしてから再挑戦をした。
$ eval $(docker-machine env shipyard1)
$
$ curl -s https://shipyard-project.com/deploy | IP=192.168.99.104 bash -s
Deploying Shipyard
-> Starting Database
-> Starting Discovery
-> Starting Cert Volume
-> Starting Proxy
-> Starting Swarm Manager
-> Starting Swarm Agent
-> Starting Controller
Waiting for Shipyard on 192.168.99.104:8080
.............
Shipyard available at http://192.168.99.104:8080
Username: admin Password: shipyard
`IP=192.168.99.104`を指定している。指定しているIPは`docker-machine`で稼働させているVMのIPである。これを指定することでVirtualBoxのeth0に割り当てられている”10.0.2.15“から変更することができる。1台で稼働させている分には”10.0.2.15“のままでも問題がないのであるが、`node`で複数台のDockerホストを追加しようとすると、すべてのDockerホストが同じIPを参照しようとしてしまうためSwarmクラスタが正常に組めなくなってしまっていた。よってこの設定を追加している。
Shipyard > NODES
http://192.168.99.104:8080/#/nodes
■ node2
本題の`node`を実行する。
$ eval $(docker-machine env shipyard2)
$
$ curl -s https://shipyard-project.com/deploy | ACTION=node DISCOVERY=etcd://192.168.99.104:4001 IP=192.168.99.105 bash -s
Adding Node
-> Starting Cert Volume
:
Node added to Swarm: 192.168.99.105
$
正常に追加できたようである。画面から確認する。
Shipyard > NODES
http://192.168.99.104:8080/#/nodes
正常に2つ目のノードが認識されている。
以上。