(2017/5/1 AkihiroSudaさんに指摘いただき一部修正しました。)
完全に殴り書きのメモです。
概要
Docker Meetup #11
に参加してきました。
ざっくり気になった内容を書きます。
内容の正誤は保証できません。
遅刻したので内容は途中からです。
Moby Project
DockerのコアメンテなのAkihiro Sudaさんのセッション。
DockerConで発表になったmobyについての解説。
以下、Moby projectについて雑感。
mobyとdockerの関係について
ネーミングが混乱しているので要注意。
(mobyが色々な事柄を表すのに使われています)
普通にdockerを使うぶんにはmobyは気にしなくて良さそう。
mobyの中の成果物の一つとしてdockerが存在するというイメージ。
(発表の中ではRHELがdocker、Fedoraがmobyと言われていましたが。)
REST API部分まではOSSとして提供されるらしい。 (2017/5/1 修正)
今後もオープンソースとしてソースコードの全面公開は続けられます。
ただしdockerのCLI部分のみはDocker社 社員のみがリポジトリへの
コミット権を持つことになります。
CLI部分はDockerが作成するとのことなので今後もコマンド系列の
整理は継続して進められるかと。
mobyについて
聞いた限りだと様々な構成要素を組み合わせるためのビルダらしいです。
Dockerもmobyの中の様々なコンポーネントを組み合わせて実現される。
さらに、docker daemon自体もマイクロサービス的にどんどん
コンポーネントが分割されていくようになるらしいです。
特に目を引いた部分は、仮想マシンイメージまで作れること。
(デモだとqemuのイメージを作っていました)
これによってDockerConでデモにあったRedisOSなどのように
特定のミドルウェア専用ディストリを作れるようになります。
(ApacheOSとかNode.jsOSなどなど)
ここまでやるかは別として、構成要素を極限まで削減して
単純化しようとしているのかなと感じました。
Containerd - the universal container runtime.
ここは私の不勉強もあって理解がかなり曖昧です。
containerdの構成要素についての説明があり、
GRPCで構成要素間を呼び出しあっているとのことでした。
残念ながら私の不勉強もあり内容は深くは理解できていないです。
containerd,dockerとk8s
どうもKubenetes(or google)としてはdockerよりも
その構成要素であるcontainerdとくっついて行くような印象を受けました。
ひょっとして1.13以降のdockerへの対応が
なかなか進められていないように見えるのもこのあたりが
影響しているのかなとも感じました。
GKEなら大丈夫ですが、docker + k8s使っている場合は
今後少し注意が必要かもしれないです。杞憂に終わるといいのですが。
他にもCNIや(現在プロポーザル中の)永続化ボリュームについての話もありました。
あとはcontainerdのターゲットとしてはコンテナのビルドに
ついてはスコープ外だからやることはありませんよとの
エクスキューズがありました。(そりゃそうだ)
containerdの構成要素についてはかなり丁寧に説明が
なされていたので改めてGW中に調べておきたいですね。