Docker Meetup Tokyoに行ってきた。
Docker と InfiniBand で実現するコンテナ内高速ネットワーク通信の試み
@syoyoさん
InfiniBand: なんかイーサネットよりすごい早く通信できる仕組みらしい。
Hack for Docker's Network
@hansodeさん
コンテナ間を制御する仕組み
Inter-Container Communication(ICC)
iptables ALLOW -> DENY になる
特定のコンテナ間の通信のみ許可したい
Link Containers
iptablesのsprt定義を生成する部分にバグがあるらしい。
Dockerに任意のIPを割り当てる機能はない
→ pipeworkを使う
pipeworkはdockerに依存していない
DockerHostを超えてコンテナを繋ぐには?
枯れた技術がない
"Up" with Vagrant and Docker
三浦広志(github.com/miurahr)さん
Vagrant 1.4 から Docker provisioner 標準搭載
Docker環境をVagrant上のOSに簡単に構築してくれる
Docker と継続的インテグレーション
DockerイメージもCIで回す!
NIIクラウドチームとDocker
谷沢智史さん
DockerをIaaSに組み込む利点
・Reproducibility
・Protability
・Supervision
DockerHostでtopするだけである程度ボトルネックの当たりを付けられるのは確かにいいかもと思った。
みんなの発表を聞いて感じられた課題
DockerHostを超えてコンテナを繋ぐ決定打がない
うちのチームでも @reoring がいろいろ試していて Elasticsearch - Ambassadorパターンを使った複数のDockerホストにおけるコンテナ間通信 - Qiita が今のところ一番ベターとのことらしいけど、まだまだ改善の余地がありそう。
データをどこに置くか?
- データをホストに置いて、VOLUMEでマウントする
- データを持つコンテナを作って他のコンテナを繋ぐ
- 外部にデータサーバを作ってコンテナがNFSでマウントする
複数方法があるけど、ここらへんはみんな試行錯誤しているという印象。
DockerHostにどこまで依存すべきか?
データとも関連した課題だけど、例えば、DockerHostでファイアウォールを作っちゃうと、そのファイアウォールはdisposable infrastractureじゃなくなるなど、何をDockerHostでやって何をコンテナにすべきかというプラクティスはまだ確立されてないのかなという感触。
いずれもDockerユーザ共通の課題のようなので、そう遠くない未来に解決されそうな気もする。