Docker Meetup Tokyo
- 240人くらい参加
- 200人の枠が2時間ぐらいで終わった
- Docker 1.0がリリースされたばかりでいいタイミングの開催
- dockerをプロダクションで使っている人、3,4人くらい
- 開発環境で使っている人、半分くらい
Ochestration Tools
@philwhin さん
bit.ly/libswarm
bit.ly/coreos
bit.ly/docker-golub
bit.ly/etcd-brandon
bit.ly/consul-explained
- オーケストレーション
- protable runtime environment just like a lego block, like an entity
- but, orchestrastionはない
- distributed systemではない
- libswarm: orchestration system
- 1 machine 1 container は簡単、 1 machine 沢山のコンテナは難しい、沢山のマシン、ゾーン、コンテナは更に大変。
Monitering
Self-healing
Horizonal Scaling
Auto-scaling
Netfix
Configuration Management
Chef Puppet Ansible Salt
IAAS
Google deploys as "Pods"
Service Discovery
- Apache ZooKeeper (before Docker)
- etcd (after Docker)
- Consul
- gossip protocol
- random health checks
Cluster Mnagement
- mesos
- CoreOs Fleet
Distributed Logging
- each containers have logs
- logstash...populer
- syslog + logstash + elasticsearch + kibana = logsearch.io
Scaling
Self-healing
Cloud Foundry + docker
Monitoring Docker with Mackerel
@stanaka さん
コンテナ側からのモニタリングの課題: コンテナ側からはホスト全体しか見えない
ホスト側からのモニタリング: cgroupのレポートを利用
/sys/fs/cgroup/cpuacct/docker/{container-id}/cpuacct.stat
/sys/fs/cgroup/memory/docker/{container-id}/memory.stat
共通レポート
cat /sys/fs/cgroup/memory/docker.../cgroup.procs
Deployment with Docker Hub
GitHub -> Docker Hub -> hubot でデプロイ
- チャットツールでデプロイ
- ビルドが成功すると、チャットで通知
- チャットでデプロイを指示
Monitering Docker with Mackerel
NewrelicみたいなSaaS。
はてなでサーバ管理ツールをSaaSにしたもの。
サービスとロール
mackerel-docker: ホストからDockerコンテナをモニタリングするツール
Dockerfileに組み込むこともできる。
Blue-green Deployment対応
- ロール単位で可視化しているので、リソースグラフを連続して見ることができる
モニタリングは1ホスト:1コンテナのほうがやりやすい。
Dive into Docker: ネットワーク
@mainyaa さん
- -link
- いい点:手軽・便利
- 悪い点:スケールしない
- ホストネットワーク機能
- docker run --net=host
- 1:1の環境でいいかも
- 悪い点: ポートが被らないようにしないといけない
- Open vSwitch
- 複数のホストに展開できる
- IPが被る
- オーケストレーションツール
- lbswarm
- Serf, Consul, etcd-fleet
The age of flynn
@deeeet さん
dmux = docker + tmux
cli-init = goのコマンドラインツールを簡単に生成する
Flynn: Dockerを使ったオープンソースのPaaS
ほぼすべてのコンポーネントがDockerコンテナで動く
アーキテクチャ
layer0(The Grid): リソースフレームワーク層
layer1: 高位なコンポーネント