2015-10-14 Docker実践LT 於 groovesさん
# docker swarm触ってみた
hoshinotsuyoshi 2015/10/14
------
# 私
rails エンジニア的な
------
# 問題意識
------
```
[おれ@とあるサーバ] $ crontab -l | wc -l
200
```
------
![200%](https://i.gyazo.com/8daddd3068d1688e080f68601170f016.png)
# SPOF(単一障害点)
------
# docker swarmとは
------
# swarmとは
* docker謹製クラスタ管理ツール
* 俺「コンテナの気持ちをわかってそう、よさ気!」
* と思った
------
![original 200%](https://i.gyazo.com/70a06437932916dd24d7be072685735a.png)
------
# swarmとは
* 良い日本語情報
http://www.slideshare.net/zembutsu/introduction-to-docker-swarm
------
# swarmとは
ブログ書いた(手前味噌)
http://hoppie.hatenablog.com/entry/2015/09/30/194106
------
# 今回
------
![original 100%](https://i.gyazo.com/00361a32f96165f81c685dc3c5a39e22.png)
------
```
AMI: ami-f2338ff2 CoreOS-stable-723.3.0-hvm
CoreOS: 723.3.0
docker: 1.6.2
etcd: 2.0.12
docker swarm: 0.4.0
```
------
# docker toolboxつかわない
------
# cloud-config
https://gist.github.com/hoshinotsuyoshi/dce5e957aa9ebfec816c
* 80行程度
------
# swarm join
```
ExecStart=/usr/bin/docker run
--name=swarm-join
swarm join
--advertise=$private_ipv4:2375
etcd://$private_ipv4:2379/swarm
```
------
# swarm manage
```
ExecStart=/usr/bin/docker run
--net=host
--name=swarm-manage
swarm manage
-H :4000
--replication
--strategy=binpack
--advertise $private_ipv4:4000
etcd://$private_ipv4:2379/swarm
```
------
# デモ
## swarmのリーダー
$ etcdctl get /swarm/docker/swarm/leader
## ふつうのdocker info
docker info
------
# デモ
## tcp越しのdocker info (swarm)
$ docker -H :4000 info
## managerのdocker info
$ docker -H $(etcdctl get /swarm/docker/swarm/leader) info
------
# (時間あれば binpackストラテジーのdemoとか)
------
おわり