Dockerのドキュメントを読んでいて、`swarm`のコマンドがあるの?と思ったのでメモ。
■ 環境
- Docker 1.9.0
- Docker Swarm 0.4.0
- Mac OSX (10.10.5)
- Homebrew
■ きっかけ
Docker1.9.2がリリースされてドキュメントを読んでいたところ、下記のような記述があった。
$ swarm create
$ swarm join ...
あれ?下記のようにコンテナの実行でやるんじゃないの?と思った。
$ docker pull swarm
$ docker run --rm swarm create
$ docker run --rm swarm join token://...
“1.9.0“から`swarm`コマンドも導入されたのか?と思ったのだが、Homebrewでインストールしているdockerにはインストールはされていない様子。
$ brew ls docker
/usr/local/Cellar/docker/1.9.0/bin/docker
/usr/local/Cellar/docker/1.9.0/etc/bash_completion.d/docker
/usr/local/Cellar/docker/1.9.0/share/fish/vendor_completions.d/docker.fish
/usr/local/Cellar/docker/1.9.0/share/zsh/site-functions/_docker
$
■ docker−swarm
`swarm`コマンドはなかったので検索してみる。
$ brew update
$ brew search swarm
ここで`docker-swarm`が存在することを知った。以前は無かったような気もするのだが。ちょっと確認。
$ cd /usr/local/Library/Formula
$ git log docker-swarm.rb
これによると2015/05/19には既にあったようである。とりあえずインストールして確認してみる。
$ brew install docker-swarm
インストールが完了。
$ docker-swarm --help
Usage: docker-swarm [OPTIONS] COMMAND [arg...]
A Docker-native clustering system
Version: 0.4.0 (HEAD)
Options:
--debug debug mode [$DEBUG]
--log-level, -l "info" Log level (options: debug, info, warn, error, fatal, panic)
--help, -h show help
--version, -v print the version
Commands:
create, c Create a cluster
list, l List nodes in a cluster
manage, m Manage a docker cluster
join, j join a docker cluster
help, h Shows a list of commands or help for one command
Run 'docker-swarm COMMAND --help' for more information on a command.
$
これを見る限り、前述の`swarm`コマンドと同等のように思える。試しに`create`を実行してみる。
$ docker-swarm create
98e6adfe3326c4712a9316d00c27f545
$
`docker`コマンドをwrapしているだけなのだろうか?と思ったが、DockerHostを指定していない状態でも`docker-swarm create`を実行して出力を得られたので、単純なwrapというわけではないようだ。`docker-machine`の”–swarm“オプションとまた違うようなのだろうか、それとも一緒に使用されることはないというイメージなのだろうか。ちょっと触ってみることにする。
以上。