Docker Swarm を試してみる
Docker Swarmを試してみました。
Dockerがインストールされている ホストを二台(node1、node2)用意しました。
node1 がマネージャ、node2 が swarm node です。
ディスカバリサービスは DockerHub を使用しています。
以下環境情報です(二台とも一緒)
root@ubuntu:~# uname -a Linux ubuntu 3.19.0-33-generic #38-Ubuntu SMP Fri Nov 6 18:18:12 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux root@ubuntu:~# docker info Containers: 2 Images: 8 Server Version: 1.9.1 Storage Driver: devicemapper Pool Name: docker-252:0-163206-pool Pool Blocksize: 65.54 kB Base Device Size: 107.4 GB Backing Filesystem: Data file: /dev/loop0 Metadata file: /dev/loop1 Data Space Used: 1.844 GB Data Space Total: 107.4 GB Data Space Available: 22.55 GB Metadata Space Used: 1.749 MB Metadata Space Total: 2.147 GB Metadata Space Available: 2.146 GB Udev Sync Supported: true Deferred Removal Enabled: false Deferred Deletion Enabled: false Deferred Deleted Device Count: 0 Data loop file: /var/lib/docker/devicemapper/devicemapper/data Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata Library Version: 1.02.90 (2014-09-01) Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 3.19.0-33-generic Operating System: Ubuntu 15.04 CPUs: 2 Total Memory: 992.9 MiB Name: ubuntu ID: DZ3Q:GYC5:JU6F:KELO:HXKC:2WNX:L2DJ:CZIM:YQX5:CVXP:FAZN:PXFQ WARNING: No swap limit support
以下のスクリプトを dockerがインストールされているホスト上で実行します
※今回は node1 上で実行しました。
# node情報を設定 export node1=192.168.1.6:2375 export node2=192.168.1.7:2375 # TOKEN発行 export SWARM_TOKEN=$(docker -H tcp://$node1 run --rm swarm create) # swarm マネージャ起動 # manager 起動時の --strategy オプションでコンテナの起動方式が変わる docker -H tcp://$node1 run -d -p 12375:2375 swarm manage token://$SWARM_TOKEN # swarm ノード起動 docker -H tcp://$node2 run -d swarm join --addr=$node2 token://$SWARM_TOKEN # node情報の取得 root@ubuntu:~# docker -H tcp://192.168.1.6:12375 info Containers: 1 Images: 1 Server Version: swarm/1.1.3 Role: primary Strategy: spread Filters: health, port, dependency, affinity, constraint Nodes: 2 ubuntu: 192.168.1.6:2375 └ Status: Healthy └ Containers: 1 └ Reserved CPUs: 0 / 2 └ Reserved Memory: 0 B / 1.018 GiB └ Labels: executiondriver=native-0.2, kernelversion=3.19.0-33-generic, operatingsystem=Ubuntu 15.04, storagedriver=devicemapper └ Error: (none) └ UpdatedAt: 2016-03-10T03:32:29Z ubuntu: 192.168.1.7:2375 └ Status: Pending └ Containers: 2 └ Reserved CPUs: 0 / 2 └ Reserved Memory: 0 B / 1.018 GiB └ Labels: executiondriver=native-0.2, kernelversion=3.19.0-33-generic, operatingsystem=Ubuntu 15.04, storagedriver=devicemapper └ Error: ID duplicated. DZ3Q:GYC5:JU6F:KELO:HXKC:2WNX:L2DJ:CZIM:YQX5:CVXP:FAZN:PXFQ shared by this node 192.168.1.7:2375 and another node 192.168.1.6:2375 └ UpdatedAt: 2016-03-10T03:32:53Z Kernel Version: 3.19.0-33-generic Operating System: linux CPUs: 2 Total Memory: 1.018 GiB Name: aab2fa7bedb4 root@ubuntu:~#
きちんと2台 起動し、認識しました!
以下の資料に感謝。
資料
http://docs.docker.jp/swarm/discovery.html
http://qiita.com/atsaki/items/16c50dfd579a9339c333
moremagic
2016-03-10