Dockerは
2016年の秋現在
どのような状況なのか?
Container SIG Meet-up 2016 Fall
2016年10月7日(金)
さくらインターネット株式会社
Technology Evangelist 前佛雅人
@zembutsu
忙 し い 人 の 5 分 で 分 か る D o c k e r
2
rkt (pronounced "rock-it") is a CLI for running
app containers on Linux.
https://github.com/coreos/rkt
今日の内容
忙しい人の5分で分かる最近の Docker
Docker の振り返り
Docker ○○ 系ツールの状況
Docker Engine 1.10 ~ 1.12 にかけて何が変わったのか
Swarm Mode ( Built-in Orchestration )
最近の話題 InfraKit, Image2Docker
3
4
Docker
Docker
アプリ開発・移動・実行のプラットフォーム
設計思想は「開発者が簡単にアプリケーションを動かす環境を作る」こと
Docker プロジェクト
PyCon 2013 (PythonカンファレンスUS) 3月13日、 LT でオープンソース・プロジェクトを発表 [1]
Solomon Hykes … dotcloud 創業者が、 Docker プロジェクトを開始 (Apache License v2)
32,000以上の GitHub Stars、60億 Docker コンテナのダウンロード、2,900人以上の貢献者
Docker Inc.
ミッションは、膨大な革新を生み出すツールを作る [2]
Docker プロジェクトのオリジナル開発者、かつ、プロジェクトのスポンサー、商業サポート
[1] “The future of Linux Containers” https://www.youtube.com/watch?v=wW9CAH9nSLs
[2] “Our mission at Docker to create tools of mass innovation” http://www.docker.com/company/ 5
6
Build Run開 発 ・ 構 築 移 動 実 行
Ship
“Build, Ship, Run, Any App Anywhere”
Docker Engine for Linux / Commercial Support
Docker for Mac, Windows, Windows Server
Docker Trusted Registry
Docker Hub
Universal Control Plane
Toolbox
Kitematic
Dev
(開発)
Ops
(運用)
7
Introducing InfraKit, an open source toolkit for creating and managing declarative, self-healing infrastructure - Docker Blog
https://blog.docker.com/2016/10/introducing-infrakit-an-open-source-toolkit-for-declarative-infrastructure/
8
2016年の変更点
9
Docker Engine
Linux Kernel
・namespaces
・cgroups
LXC libcontainer runC
containerd
v0.9~
v1.11~
Version 7 Unix
chroot
jail
dockerd
v1.12~
デーモン
ライブラリ
ランタイム
docker daemon
・SELinux
・capabilities
… etc
Docker: the container engine
v1.11~
Docker v1.10 (2016年2月)
ネットワーク機能の強化
v1.9 で搭載した機能に加え、 IP アドレスの固定や、内部ネットワーク、コンテナのリンクを追加
内蔵 DNS サーバ (Embedded DNS server) のサポートと、 /etc/hosts 書き換えの廃止
内部のイメージとレイヤの管理方式を content-addressable に変更(UUIDで管理しない)
Docker Swarm v1.1
ノード障害発生時、コンテナの自動復旧を実験的導入
ノード管理機能の改善
Docker Compose v1.6
docker-compose.yaml V2 フォーマットの発表(ネットワーク、ストレージ対応)
10参考訳:Docker 1.10 新しい Compose ファイル、セキュリティ改善、ネットワーク機能等 | Pocketstudio.jp log3
http://pocketstudio.jp/log3/2016/02/06/docker-1-10-ja/
Docker v1.11 (2016年4月)
ランタイム runC 導入
OCI (Open Container Initiative) 規格に対応
ランタイムを管理する containerd デーモンの導入
Docker ネットワークで DNS ラウンドロビンの負荷分散
Docker Swarm v1.2
障害時の コンテナ自動復旧(再スケジュール)の正式化
Docker Compose v1.7
docker-compose up --build の追加
docker-compose exec の追加
11Docker 1.11 リリース情報の要約 - Qiita
http://qiita.com/zembutsu/items/8ccef1dc409c44791e27
Docker v1.12 (2016年7月)
Swarm モード搭載
オーケストレーション機能のサポート、ノードとサービスを管理する新しい管理コマンド
Ingress ロード・バランシング(ラウンドロビン)とルーティング・メッシュ機能
クラスタ管理に外部のディスカバリ・バックエンド不要
Docker Engine v1.12
Dockerfile で UTF-8 をサポート
.dockerignore でコメント対応、など
Docker Compose v1.8
docker-compose push の追加、など
12【参考訳】Docker 1.12 のリリース情報(changelog) - Qiita
http://qiita.com/zembutsu/items/561062299d810257d38b
Swarm Mode (Docker 1.12)
目標
分散クラスタのセットアップと利用を簡単に(開発からデプロイへ、継ぎ目のない移動)
Docker Engine v1.12 に実装
最も簡単な Docker コンテナのオーケストレーション
複数の Docker Engine で Swarm クラスタ形成
Ingress ネットワークとロードバランシング
新しいコマンドのサポート
docker swarm init  docker swarm join
docker service create  docker service update
13
Orchestrating Linux Containers while tolerating failures
http://www.slideshare.net/Docker/orchestrating-linux-containers-while-tolerating-failures
14
Docker Built-in Orchestration Ready for Production: Docker 1.12 Goes GA - Docker Blog
https://blog.docker.com/2016/07/docker-built-in-orchestration-ready-for-production-docker-1-12-goes-ga/
15
Docker Built-in Orchestration Ready for Production: Docker 1.12 Goes GA - Docker Blog
https://blog.docker.com/2016/07/docker-built-in-orchestration-ready-for-production-docker-1-12-goes-ga/
16
Docker Engine Swarm Mode と Docker Swarm の比較
17
詳しい続きはウェブで!
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
http://www.slideshare.net/zembutsu/docker-112-rc-introduction-to-swarm-mode
http://bit.ly/swarmguide
その他:Docker Toolbox のオワコン[1]化(?)
Toolbox に替わる新しい選択肢
Toolbox は VirtualBox + CLI + Kitematic + Compose + Machine のセット
Docker for Mac/Win 安定版提供開始[2] (2016年8月)
Docker for Mac の場合:
• 動作環境OS X 10.10.3 Yosemite 以降のハイパーバイザ xhyve に対応
• ユーザは Docker for Mac アプリを操作するが、バックグラウンドで1つの仮想マシンを管理
• Docker Toolbox と併用可能
Docker for Win の場合:
• 動作環境は Win10 Pro/Enterprise/Education + 「Hyper-V」で、VirtualBox と併用不可
18[1] オワコンとは「終わったコンテンツ」を省略したネット・スラング。 EoL ならぬ、EoC と略されることがあるかもしれない。
[2] Docker Meetup 08 03-2016 http://www.slideshare.net/FrenchBen/docker-meetup-08-032016
R.I.P
19
最近の話題
InfraKit
オープンソースとして発表
InfraKit は宣言型の自己修復基板の作成と管理
LinuxCon Europa で発表(2016年10月)
クラウドだけでなく、オンプレなど任意の環境でも
新しい概念の導入
Groups … 計算クラスタ(仮想マシンや物理サーバ)を抽象化する単位
Instances … グループのメンバであり、サーバをプラグインで管理
Flavors … 物理環境の管理やヘルスチェックをプラグインで管理
20
Introducing InfraKit, an open source toolkit for creating and managing declarative, self-healing infrastructure - Docker Blog
https://blog.docker.com/2016/10/introducing-infrakit-an-open-source-toolkit-for-declarative-infrastructure/
Dockerが「InfraKit」をオープンソースで公開。Docker用のクラウド環境を自動構築、自動修復 - Publickey
http://www.publickey1.jp/blog/16/dockerinfrakitdocker.html
Windows Server & Image2Docker
Windows Server 2016 がコンテナ実行に対応
Windows ネイティブの Docker デーモンを通し、Docker Windows コンテナが実行可能に(2016年9月)
Linux と同じように、Winodows プロセス名前空間やファイルシステムを isolation (分離)
• コンテナには Windows Server Containers と Hyper-V の2つのモードがある
• Docker Hub も複数アーキテクチャのイメージに対応
• クラアント向け Docker for Win とは別の仕組みであり、セットアップしなくてもコンテナを実行可能
Image2Docker は開発中のプロジェクト
Windows のインストール済みコンポーネントを調べ、Dockerfile を提案する PowerShell ツール
https://github.com/docker/communitytools-image2docker-win
21
Build and run your first Docker Windows Server container - Docker Blog
https://blog.docker.com/2016/09/build-your-first-docker-windows-server-container/
Image2Docker: A New Tool for Prototyping Windows VM Conversions - Docker Blog
https://blog.docker.com/2016/09/image2docker-prototyping-windows-vm-conversions/
まとめ
22
• 今年もDockerの進歩が速かった
Docker Engine … dockerd (v1.12), containerd (v1.10), runC (v1.10)
Swarm Mode … 宣言型 Orchestration (v1.12)
• 様々な周辺ツールの登場と進化
Docker Datacenter, Docker Cloud, UCP … などなど
Docker for AWS/Azure  InfraKit, Image2Docker
• Chaos ※個人の感想です
面白いけど更新が速くて、常に最新ドキュメントを追う必要性
Dockerの情報を追うには?
23
• Docker blog
https://blog.docker.com/
• SNS
https://twitter.com/docker
http://www.slideshare.net/docker
• ドキュメント
https://docs.docker.com/
何か気になるところはありますか?
24
• Docker 日本語訳作ってます
http://docs.docker.jp/
• 過去の発表スライド
http://slideshare.net/zembutsu
twitter: @zembutsu

Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~

  • 1.
    Dockerは 2016年の秋現在 どのような状況なのか? Container SIG Meet-up2016 Fall 2016年10月7日(金) さくらインターネット株式会社 Technology Evangelist 前佛雅人 @zembutsu 忙 し い 人 の 5 分 で 分 か る D o c k e r
  • 2.
    2 rkt (pronounced "rock-it")is a CLI for running app containers on Linux. https://github.com/coreos/rkt
  • 3.
    今日の内容 忙しい人の5分で分かる最近の Docker Docker の振り返り Docker○○ 系ツールの状況 Docker Engine 1.10 ~ 1.12 にかけて何が変わったのか Swarm Mode ( Built-in Orchestration ) 最近の話題 InfraKit, Image2Docker 3
  • 4.
  • 5.
    Docker アプリ開発・移動・実行のプラットフォーム 設計思想は「開発者が簡単にアプリケーションを動かす環境を作る」こと Docker プロジェクト PyCon 2013(PythonカンファレンスUS) 3月13日、 LT でオープンソース・プロジェクトを発表 [1] Solomon Hykes … dotcloud 創業者が、 Docker プロジェクトを開始 (Apache License v2) 32,000以上の GitHub Stars、60億 Docker コンテナのダウンロード、2,900人以上の貢献者 Docker Inc. ミッションは、膨大な革新を生み出すツールを作る [2] Docker プロジェクトのオリジナル開発者、かつ、プロジェクトのスポンサー、商業サポート [1] “The future of Linux Containers” https://www.youtube.com/watch?v=wW9CAH9nSLs [2] “Our mission at Docker to create tools of mass innovation” http://www.docker.com/company/ 5
  • 6.
    6 Build Run開 発・ 構 築 移 動 実 行 Ship “Build, Ship, Run, Any App Anywhere” Docker Engine for Linux / Commercial Support Docker for Mac, Windows, Windows Server Docker Trusted Registry Docker Hub Universal Control Plane Toolbox Kitematic Dev (開発) Ops (運用)
  • 7.
    7 Introducing InfraKit, anopen source toolkit for creating and managing declarative, self-healing infrastructure - Docker Blog https://blog.docker.com/2016/10/introducing-infrakit-an-open-source-toolkit-for-declarative-infrastructure/
  • 8.
  • 9.
    9 Docker Engine Linux Kernel ・namespaces ・cgroups LXClibcontainer runC containerd v0.9~ v1.11~ Version 7 Unix chroot jail dockerd v1.12~ デーモン ライブラリ ランタイム docker daemon ・SELinux ・capabilities … etc Docker: the container engine v1.11~
  • 10.
    Docker v1.10 (2016年2月) ネットワーク機能の強化 v1.9で搭載した機能に加え、 IP アドレスの固定や、内部ネットワーク、コンテナのリンクを追加 内蔵 DNS サーバ (Embedded DNS server) のサポートと、 /etc/hosts 書き換えの廃止 内部のイメージとレイヤの管理方式を content-addressable に変更(UUIDで管理しない) Docker Swarm v1.1 ノード障害発生時、コンテナの自動復旧を実験的導入 ノード管理機能の改善 Docker Compose v1.6 docker-compose.yaml V2 フォーマットの発表(ネットワーク、ストレージ対応) 10参考訳:Docker 1.10 新しい Compose ファイル、セキュリティ改善、ネットワーク機能等 | Pocketstudio.jp log3 http://pocketstudio.jp/log3/2016/02/06/docker-1-10-ja/
  • 11.
    Docker v1.11 (2016年4月) ランタイムrunC 導入 OCI (Open Container Initiative) 規格に対応 ランタイムを管理する containerd デーモンの導入 Docker ネットワークで DNS ラウンドロビンの負荷分散 Docker Swarm v1.2 障害時の コンテナ自動復旧(再スケジュール)の正式化 Docker Compose v1.7 docker-compose up --build の追加 docker-compose exec の追加 11Docker 1.11 リリース情報の要約 - Qiita http://qiita.com/zembutsu/items/8ccef1dc409c44791e27
  • 12.
    Docker v1.12 (2016年7月) Swarmモード搭載 オーケストレーション機能のサポート、ノードとサービスを管理する新しい管理コマンド Ingress ロード・バランシング(ラウンドロビン)とルーティング・メッシュ機能 クラスタ管理に外部のディスカバリ・バックエンド不要 Docker Engine v1.12 Dockerfile で UTF-8 をサポート .dockerignore でコメント対応、など Docker Compose v1.8 docker-compose push の追加、など 12【参考訳】Docker 1.12 のリリース情報(changelog) - Qiita http://qiita.com/zembutsu/items/561062299d810257d38b
  • 13.
    Swarm Mode (Docker1.12) 目標 分散クラスタのセットアップと利用を簡単に(開発からデプロイへ、継ぎ目のない移動) Docker Engine v1.12 に実装 最も簡単な Docker コンテナのオーケストレーション 複数の Docker Engine で Swarm クラスタ形成 Ingress ネットワークとロードバランシング 新しいコマンドのサポート docker swarm init  docker swarm join docker service create  docker service update 13 Orchestrating Linux Containers while tolerating failures http://www.slideshare.net/Docker/orchestrating-linux-containers-while-tolerating-failures
  • 14.
    14 Docker Built-in OrchestrationReady for Production: Docker 1.12 Goes GA - Docker Blog https://blog.docker.com/2016/07/docker-built-in-orchestration-ready-for-production-docker-1-12-goes-ga/
  • 15.
    15 Docker Built-in OrchestrationReady for Production: Docker 1.12 Goes GA - Docker Blog https://blog.docker.com/2016/07/docker-built-in-orchestration-ready-for-production-docker-1-12-goes-ga/
  • 16.
    16 Docker Engine SwarmMode と Docker Swarm の比較
  • 17.
    17 詳しい続きはウェブで! Docker 1.12 &Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介 http://www.slideshare.net/zembutsu/docker-112-rc-introduction-to-swarm-mode http://bit.ly/swarmguide
  • 18.
    その他:Docker Toolbox のオワコン[1]化(?) Toolboxに替わる新しい選択肢 Toolbox は VirtualBox + CLI + Kitematic + Compose + Machine のセット Docker for Mac/Win 安定版提供開始[2] (2016年8月) Docker for Mac の場合: • 動作環境OS X 10.10.3 Yosemite 以降のハイパーバイザ xhyve に対応 • ユーザは Docker for Mac アプリを操作するが、バックグラウンドで1つの仮想マシンを管理 • Docker Toolbox と併用可能 Docker for Win の場合: • 動作環境は Win10 Pro/Enterprise/Education + 「Hyper-V」で、VirtualBox と併用不可 18[1] オワコンとは「終わったコンテンツ」を省略したネット・スラング。 EoL ならぬ、EoC と略されることがあるかもしれない。 [2] Docker Meetup 08 03-2016 http://www.slideshare.net/FrenchBen/docker-meetup-08-032016 R.I.P
  • 19.
  • 20.
    InfraKit オープンソースとして発表 InfraKit は宣言型の自己修復基板の作成と管理 LinuxCon Europaで発表(2016年10月) クラウドだけでなく、オンプレなど任意の環境でも 新しい概念の導入 Groups … 計算クラスタ(仮想マシンや物理サーバ)を抽象化する単位 Instances … グループのメンバであり、サーバをプラグインで管理 Flavors … 物理環境の管理やヘルスチェックをプラグインで管理 20 Introducing InfraKit, an open source toolkit for creating and managing declarative, self-healing infrastructure - Docker Blog https://blog.docker.com/2016/10/introducing-infrakit-an-open-source-toolkit-for-declarative-infrastructure/ Dockerが「InfraKit」をオープンソースで公開。Docker用のクラウド環境を自動構築、自動修復 - Publickey http://www.publickey1.jp/blog/16/dockerinfrakitdocker.html
  • 21.
    Windows Server &Image2Docker Windows Server 2016 がコンテナ実行に対応 Windows ネイティブの Docker デーモンを通し、Docker Windows コンテナが実行可能に(2016年9月) Linux と同じように、Winodows プロセス名前空間やファイルシステムを isolation (分離) • コンテナには Windows Server Containers と Hyper-V の2つのモードがある • Docker Hub も複数アーキテクチャのイメージに対応 • クラアント向け Docker for Win とは別の仕組みであり、セットアップしなくてもコンテナを実行可能 Image2Docker は開発中のプロジェクト Windows のインストール済みコンポーネントを調べ、Dockerfile を提案する PowerShell ツール https://github.com/docker/communitytools-image2docker-win 21 Build and run your first Docker Windows Server container - Docker Blog https://blog.docker.com/2016/09/build-your-first-docker-windows-server-container/ Image2Docker: A New Tool for Prototyping Windows VM Conversions - Docker Blog https://blog.docker.com/2016/09/image2docker-prototyping-windows-vm-conversions/
  • 22.
    まとめ 22 • 今年もDockerの進歩が速かった Docker Engine… dockerd (v1.12), containerd (v1.10), runC (v1.10) Swarm Mode … 宣言型 Orchestration (v1.12) • 様々な周辺ツールの登場と進化 Docker Datacenter, Docker Cloud, UCP … などなど Docker for AWS/Azure  InfraKit, Image2Docker • Chaos ※個人の感想です 面白いけど更新が速くて、常に最新ドキュメントを追う必要性
  • 23.
    Dockerの情報を追うには? 23 • Docker blog https://blog.docker.com/ •SNS https://twitter.com/docker http://www.slideshare.net/docker • ドキュメント https://docs.docker.com/
  • 24.
    何か気になるところはありますか? 24 • Docker 日本語訳作ってます http://docs.docker.jp/ •過去の発表スライド http://slideshare.net/zembutsu twitter: @zembutsu