Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Copyright©2017 NTT Corp. All Rights Reserved.
NTT ソフトウェアイノベーションセンタ
須田 瑛大 (Akihiro Suda)
Docker Tokyo Meetup #11
2017.4.27
2Copyright©2017 NTT Corp. All Rights Reserved.
• 須田 瑛大 (Akihiro Suda)
• GitHub: @AkihiroSuda
• Twitter: @_AkihiroSuda_
• NTT ソフトウェアイノベーションセンタ
• Docker コアメンテナ (2016.11~2017.04)
• Moby コアメンテナ (2017.04~)
• OSS「プロジェクト」としてのDockerはMobyに名前が変わった
• 最近はcontainerdやOCI関連でも活動
自己紹介
3Copyright©2017 NTT Corp. All Rights Reserved.
•Mobyとは何か
•Mobyのインパクト
•ありがちな誤解
•デモ
お話しする内容
4Copyright©2017 NTT Corp. All Rights Reserved.
Mobyとは何か
"the most important project at Docker
since the launch of Docker itself"
5Copyright©2017 NTT Corp. All Rights Reserved.
Moby is a project which
provides a “Lego set” of
dozens of components
(https://mobyproject.org)
Mobyとは何か
画像: Docker本社(San Francisco)にて撮影 (須田・Kunal)
6Copyright©2017 NTT Corp. All Rights Reserved.
• Docker daemonが複数の「Lego」的なMobyコンポー
ネントに(今後徐々に)分割される
• Mobyコンポーネントを自由に組み合わせて,独自のプ
ロジェクトを開発できる
• Docker製品も,Mobyコンポーネントから構成される
Mobyとは何か
containerd + runc
Moby
"swarmd"
"layerd"
REST API
任意..
Docker CLI
Docker
(for Mac, Win, AWS...)
3rdパーティ
プロジェクト
7Copyright©2017 NTT Corp. All Rights Reserved.
「Moby」という単語が色々な意味で使われていて,わ
かりにくい
• Docker daemonを構成する「Lego」ブロック群
• 「Lego」を組み合わせるツール (コマンド名moby)
• Dockerと全然関係ないプロジェクトを構築することもできる
• LinuxKitのコードネーム
• DockerConにて発表された,コンテナ専用Linux distro
• Docker for Mac/Win/AWS..のOS (Moby Linux)
• Dockerの鯨 (Moby Dock)
Mobyとは何か
8Copyright©2017 NTT Corp. All Rights Reserved.
MobyでDockerをビルドする
kernel:
image: "linuxkit/kernel:4.9.x"
onboot:
- name: format
image: "linuxkit/format"
- name: mount
image: "linuxkit/mount"
services:
- name: dhcpcd
image: "linuxkit/dhcpcd"
- name: ntpd
image: "linuxkit/openntpd"
- name: docker
image: "linuxkit/docker-ce"
outputs:
- format: kernel+initrd
$ moby build docker.yml
..
Create outputs:
docker-bzImage
docker-initrd.img
$ linuxkit run qemu docker
..
Welcome to LinuxKit
/#
docker サービスは,今後徐々に"swarmd"など
細かいコンポーネントに分割されていく見込み
(任意のコンポーネントだけ選んでビルドできる)
Docker自体も含めて,全てのパッケージがcontainerdコンテナ
9Copyright©2017 NTT Corp. All Rights Reserved.
Docker以外のプロジェクトにも使える
https://www.slideshare.net/Docker/dockercon-2017-general-session-day-1-solomon-hykes-75362520
mobyを使って,redisコンテナ入りのVMを作成
(redisコンテナはdocker抜きで直接containerd上で動作)
10Copyright©2017 NTT Corp. All Rights Reserved.
Docker以外のプロジェクトにも使える
https://www.slideshare.net/Docker/dockercon-2017-general-session-day-1-solomon-hykes-75362520
mobyを使って,k8sコンテナ入りのVMを作成
11Copyright©2017 NTT Corp. All Rights Reserved.
•Mobyとは何か
•Mobyのインパクト
•ありがちな誤解
•デモ
お話しする内容
12Copyright©2017 NTT Corp. All Rights Reserved.
• 製品としてのDockerの名前がMobyに変わったわけで
はない
• GitHubのdockerリポジトリは,確かにmobyになった
• Dockerの実行コマンドは,従来通り"docker"
• "moby"コマンドは全く別の用途 (コンポーネントを組み合わせ
るための"assembler")
• "moby"コマンドは開発者向けツールであり,ユーザが実行する
ものではない
• Dockerfileも,従来通り"Dockerfile"
• "Mobyfile"にはならない
ユーザへの直接的な影響は無い
13Copyright©2017 NTT Corp. All Rights Reserved.
• 「product」と「project」との境界が明確になった
• Moby部分については,ガバナンスの透明性向上が期待
される
• 一方,CLIについては,Docker社が単独で主導するこ
ととなった
• ソースコードは従来通りApache License 2.0で公開
(https://github.com/docker/cli)
Mobyのインパクト
開発主体 透明性 商用導入向き 例
「product」 単独企業 × ○
Docker
RHEL
「project」 コミュニティ ○ ×
Moby
Fedora
14Copyright©2017 NTT Corp. All Rights Reserved.
•Mobyとは何か
•Mobyのインパクト
•ありがちな誤解
•デモ
お話しする内容
15Copyright©2017 NTT Corp. All Rights Reserved.
×Dockerの製品名がMobyになった
×docker コマンドの代わりに moby コマンドを使う世
界が来る
×Dockerfileの代わりにMobyfileを書く世界が来る
×docker-compose.ymlの代わりにMobyのYAMLを書
く世界が来る
×Dockerはlinuxkitでしか動かなくなった
×Dockerはクローズドソースになった
ありがちな誤解
16Copyright©2017 NTT Corp. All Rights Reserved.
•Mobyとは何か
•Mobyのインパクト
•ありがちな誤解
•デモ
お話しする内容
17Copyright©2017 NTT Corp. All Rights Reserved.
※今後のバージョンで,YAMLやコマンドの仕様は変更
される可能性が高い
デモ
$ moby build docker.yml
..
Create outputs:
docker-bzImage
docker-initrd.img
$ linuxkit run docker
..
Welcome to LinuxKit
/# runc list
/# runc exec docker docker version
18Copyright©2017 NTT Corp. All Rights Reserved.
• Dockerは今後,Legoブロックの如く,Mobyコ
ンポーネントを組み合わせてビルドされる
• GitHubのdockerリポジトリはmobyリポジトリ
になったが,製品名やコマンド名が変わったわ
けではない
• DockerがRHELだとすると,MobyはFedoraの
ようなもの
まとめ

More Related Content

Moby Project

  • 1. Copyright©2017 NTT Corp. All Rights Reserved. NTT ソフトウェアイノベーションセンタ 須田 瑛大 (Akihiro Suda) Docker Tokyo Meetup #11 2017.4.27
  • 2. 2Copyright©2017 NTT Corp. All Rights Reserved. • 須田 瑛大 (Akihiro Suda) • GitHub: @AkihiroSuda • Twitter: @_AkihiroSuda_ • NTT ソフトウェアイノベーションセンタ • Docker コアメンテナ (2016.11~2017.04) • Moby コアメンテナ (2017.04~) • OSS「プロジェクト」としてのDockerはMobyに名前が変わった • 最近はcontainerdやOCI関連でも活動 自己紹介
  • 3. 3Copyright©2017 NTT Corp. All Rights Reserved. •Mobyとは何か •Mobyのインパクト •ありがちな誤解 •デモ お話しする内容
  • 4. 4Copyright©2017 NTT Corp. All Rights Reserved. Mobyとは何か "the most important project at Docker since the launch of Docker itself"
  • 5. 5Copyright©2017 NTT Corp. All Rights Reserved. Moby is a project which provides a “Lego set” of dozens of components (https://mobyproject.org) Mobyとは何か 画像: Docker本社(San Francisco)にて撮影 (須田・Kunal)
  • 6. 6Copyright©2017 NTT Corp. All Rights Reserved. • Docker daemonが複数の「Lego」的なMobyコンポー ネントに(今後徐々に)分割される • Mobyコンポーネントを自由に組み合わせて,独自のプ ロジェクトを開発できる • Docker製品も,Mobyコンポーネントから構成される Mobyとは何か containerd + runc Moby "swarmd" "layerd" REST API 任意.. Docker CLI Docker (for Mac, Win, AWS...) 3rdパーティ プロジェクト
  • 7. 7Copyright©2017 NTT Corp. All Rights Reserved. 「Moby」という単語が色々な意味で使われていて,わ かりにくい • Docker daemonを構成する「Lego」ブロック群 • 「Lego」を組み合わせるツール (コマンド名moby) • Dockerと全然関係ないプロジェクトを構築することもできる • LinuxKitのコードネーム • DockerConにて発表された,コンテナ専用Linux distro • Docker for Mac/Win/AWS..のOS (Moby Linux) • Dockerの鯨 (Moby Dock) Mobyとは何か
  • 8. 8Copyright©2017 NTT Corp. All Rights Reserved. MobyでDockerをビルドする kernel: image: "linuxkit/kernel:4.9.x" onboot: - name: format image: "linuxkit/format" - name: mount image: "linuxkit/mount" services: - name: dhcpcd image: "linuxkit/dhcpcd" - name: ntpd image: "linuxkit/openntpd" - name: docker image: "linuxkit/docker-ce" outputs: - format: kernel+initrd $ moby build docker.yml .. Create outputs: docker-bzImage docker-initrd.img $ linuxkit run qemu docker .. Welcome to LinuxKit /# docker サービスは,今後徐々に"swarmd"など 細かいコンポーネントに分割されていく見込み (任意のコンポーネントだけ選んでビルドできる) Docker自体も含めて,全てのパッケージがcontainerdコンテナ
  • 9. 9Copyright©2017 NTT Corp. All Rights Reserved. Docker以外のプロジェクトにも使える https://www.slideshare.net/Docker/dockercon-2017-general-session-day-1-solomon-hykes-75362520 mobyを使って,redisコンテナ入りのVMを作成 (redisコンテナはdocker抜きで直接containerd上で動作)
  • 10. 10Copyright©2017 NTT Corp. All Rights Reserved. Docker以外のプロジェクトにも使える https://www.slideshare.net/Docker/dockercon-2017-general-session-day-1-solomon-hykes-75362520 mobyを使って,k8sコンテナ入りのVMを作成
  • 11. 11Copyright©2017 NTT Corp. All Rights Reserved. •Mobyとは何か •Mobyのインパクト •ありがちな誤解 •デモ お話しする内容
  • 12. 12Copyright©2017 NTT Corp. All Rights Reserved. • 製品としてのDockerの名前がMobyに変わったわけで はない • GitHubのdockerリポジトリは,確かにmobyになった • Dockerの実行コマンドは,従来通り"docker" • "moby"コマンドは全く別の用途 (コンポーネントを組み合わせ るための"assembler") • "moby"コマンドは開発者向けツールであり,ユーザが実行する ものではない • Dockerfileも,従来通り"Dockerfile" • "Mobyfile"にはならない ユーザへの直接的な影響は無い
  • 13. 13Copyright©2017 NTT Corp. All Rights Reserved. • 「product」と「project」との境界が明確になった • Moby部分については,ガバナンスの透明性向上が期待 される • 一方,CLIについては,Docker社が単独で主導するこ ととなった • ソースコードは従来通りApache License 2.0で公開 (https://github.com/docker/cli) Mobyのインパクト 開発主体 透明性 商用導入向き 例 「product」 単独企業 × ○ Docker RHEL 「project」 コミュニティ ○ × Moby Fedora
  • 14. 14Copyright©2017 NTT Corp. All Rights Reserved. •Mobyとは何か •Mobyのインパクト •ありがちな誤解 •デモ お話しする内容
  • 15. 15Copyright©2017 NTT Corp. All Rights Reserved. ×Dockerの製品名がMobyになった ×docker コマンドの代わりに moby コマンドを使う世 界が来る ×Dockerfileの代わりにMobyfileを書く世界が来る ×docker-compose.ymlの代わりにMobyのYAMLを書 く世界が来る ×Dockerはlinuxkitでしか動かなくなった ×Dockerはクローズドソースになった ありがちな誤解
  • 16. 16Copyright©2017 NTT Corp. All Rights Reserved. •Mobyとは何か •Mobyのインパクト •ありがちな誤解 •デモ お話しする内容
  • 17. 17Copyright©2017 NTT Corp. All Rights Reserved. ※今後のバージョンで,YAMLやコマンドの仕様は変更 される可能性が高い デモ $ moby build docker.yml .. Create outputs: docker-bzImage docker-initrd.img $ linuxkit run docker .. Welcome to LinuxKit /# runc list /# runc exec docker docker version
  • 18. 18Copyright©2017 NTT Corp. All Rights Reserved. • Dockerは今後,Legoブロックの如く,Mobyコ ンポーネントを組み合わせてビルドされる • GitHubのdockerリポジトリはmobyリポジトリ になったが,製品名やコマンド名が変わったわ けではない • DockerがRHELだとすると,MobyはFedoraの ようなもの まとめ