Contenu connexe
Similaire à Dockerコミュニティ近況 (20)
Plus de Akihiro Suda (20)
Dockerコミュニティ近況
- 1. Copyright©2017 NTT Corp. All Rights Reserved.
日本電信電話(株)
ソフトウェアイノベーションセンタ
須田 瑛大
<suda.akihiro@lab.ntt.co.jp>
Docker コミュニティ近況
NTT Tech Conference #1
2017年1月27日(金)
- 2. 2Copyright©2017 NTT Corp. All Rights Reserved.
• Docker Engine Core Maintainer (いわゆるコミッタ)
• Dockerに対するパッチのレビューやマージをしている
(Docker社員以外では世界で8名)
• ソフトウェア試験技術の研究開発
• FOSDEMやApacheConなどのオープンソース系会議で発表
自己紹介
• 日本電信電話(株) ソフトウェアイノベーションセンタ
• NTT研究所のオープンソース活動部門
• 新卒入社3年目
• 須田 瑛大 (すだ あきひろ)
• github: @AkihiroSuda
• Twitter: @_AkihiroSuda_
所属
業務
- 3. 3Copyright©2017 NTT Corp. All Rights Reserved.
お話しする内容
Docker 1.13
containerd
InfraKit
Infinit
バグ報告の仕方
パッチの投げ方
Docker関連ソフトウェアの動向
Dockerコミュニティの案内
ガバナンス
質問の仕方
Dockerとは何か
- 4. 4Copyright©2017 NTT Corp. All Rights Reserved.
• いわゆるコンテナ型仮想化基盤
• 仮想マシンより軽い
• イメージの作成・共有が簡単
• 昔のjailなどとの大きな違い
• 分散実行にも対応
• 標準: Swarm-mode / 3rd party: Kubernetes など
Dockerとは
FROM ubuntu:16.10
RUN apt-get install hogehoge
COPY hogehoge.conf /etc
Dockerfileをコミットする
イメージがビルドされる
クラスタにデプロイできる
例
- 5. 5Copyright©2017 NTT Corp. All Rights Reserved.
• Docker本体が,Docker Compose機能を備えるようになった
• Swarm-modeを用いて複数ノードで分散実行できる
• secret機能がついた
• コンテナ内からAWSやgithubへアクセスするためのキーなどを安全に
格納できる
• 機能面では,Kubernetesに追いつきつつあるのではないか?
Docker 1.13 リリース (2017/1/19)
services:
web: #入力受付画面
replicas: 2
compute: #処理
replicas: 3
db: #DB
replicas: 1 #ステートフルなので特定1ノードに張り付け
placement:
constraints: node.hostname == host42
volumes: /var/db-data #host42のHDD上で永続化
$ docker stack deploy ¥
--compose-file=docker-compose.yml ¥
my_stack
webweb
compute compute compute
db
LB
LB
VOL
例
- 6. 6Copyright©2017 NTT Corp. All Rights Reserved.
• Dockerでステートフルなサービスを動かすときは,
永続データをどこに置くべきかが悩みどころ
• Docker社が分散ストレージInfinitを買収した.近々オ
ープンソース化の見込み.
• ブロック・オブジェクト・ファイル いずれのインターフェースも
サポート
• ビザンチン障害にも対応
• InfinitはもともとはスマホとPC間でのファイル共有サービスとし
て開発された模様.Docker統合へ向けてどう変わっていくのか
興味深い.
• AppStore / Google Playにもアプリがある
• InfinitがDockerに統合されれば,ステートフルなサー
ビスも簡単にデプロイ可能となりそう
Infinit買収 (2016年12月)
- 7. 7Copyright©2017 NTT Corp. All Rights Reserved.
Infinit買収 (2016年12月)
画像出典: http://blog.infinit.sh/introducing-infinit-file-system/
- 8. 8Copyright©2017 NTT Corp. All Rights Reserved.
• Dockerを動かすVMをAWS上などに構築するツール
• Docker Machineとの違い:
• 個々のインスタンスではなく,インスタンスのグループを対象として扱える
• Swarm-modeクラスタの構築・運用に便利
• 構成情報をローカルディスク以外に保存できる
• Docker for AWS/Azure/GCPとの違い:
• プラグインとして任意のクラウドサービスに対応可能
• Docker以外のクラスタの構築にも使える (ZooKeeperなど)
• SwarmkitがDocker本体に統合されたように,InfrakitもDocker本体
に統合されそう
Infrakit発表 (2016年10月)
- 9. 9Copyright©2017 NTT Corp. All Rights Reserved.
• containerdが,Docker社から独立した新組織に移管されることとな
った
• 旧containerd (runcとdockerdを繋ぐだけ)と異なり,イメージ関連機能
を備える
• Docker以外のプロジェクトとも,低レイヤの共通化が容易になった
• 新組織の詳細は数ヶ月以内に明らかになる
• 現時点でのメンテナは Docker 3名,Cloudflare, Huawei, IBM,
Microsoft 各1名
containerdの新組織移管 (2017年早期)
dockerd
containerd
runc
コンテナ機能本体
(namespace, cgroupなど)
Dockerfileパーザ
Swarm-modeなど上位機能
OCIイメージのダウンロード
AUFS, Overlayなどの差分ファイルシステム
Docker社と社外メンテナ
新組織
Open Containers Initiative
- 10. 10Copyright©2017 NTT Corp. All Rights Reserved.
• Docker社員以外でも開発に参加できる
• GitHub上でのパッチ投稿を受け付けている
• パッチ投稿だけではなく,バグ報告や解析も歓迎される
• 活発に活動しているとメンテナ(所謂コミッタ)に誘われる
• Docker Engine Core Maintainer26名の所属内訳
Dockerコミュニティのガバナンス
所属 人数
Docker 18
IBM 3
Huawei 1
Infosiftr 1
Microsoft 1
NTT 1
Red Hat 1
core maintainer: パッチの採否を決定する
docs maintainer: 同上(ドキュメントに限る)
curator: issue(質問・バグ票)の整理
※SwarmkitやInfrakitなどは別リポジトリなので
別個にメンテナが居る
- 11. 11Copyright©2017 NTT Corp. All Rights Reserved.
• 質問なら..
• Docker Communityに登録する(https://community.docker.com/)と
SlackやForumsにアクセスできる
• Slackに日本人チャネルもあり (#japanese-users)
• MLやIRCはあまり使われない
• Stackoverflowなどでも
質問できる
• バグ報告なら..
• GitHubのアカウントを作る
• https://github.com/docker/docker にアクセスする
• 重複していないか検索する.自信がないときは,新規報告推奨.
• New issue ボタンを押す
質問・バグ報告の仕方
- 12. 12Copyright©2017 NTT Corp. All Rights Reserved.
• フォームを埋める
バグ報告の仕方
再現手順
• 短すぎる⇒情報不足で再現できない
• 長すぎる⇒再現しようと思う人が少なくなる
バージョンやディストリビューション
- 13. 13Copyright©2017 NTT Corp. All Rights Reserved.
• パッチを書く (Go言語, Apache License 2.0)
• GitHubのNew pull requestボタンを押す
• フォームを埋める
• メンテナの反応を待つ.2名以上のLGTMでマージされる.
• 反応がないときはメンテナにpingする
パッチの投げ方
"Looks Good To Me"
動物の写真を添付する