SlideShare a Scribd company logo
1 of 35
仮想化、クラウドの次に来る「コンテナ化」 
- DockerをRed Hatはどのように見ているのか- 
Haruka Iwao 
Cloud Evangelist, Red Hat K.K. 
2014/12/11 
© Red 1 Hat K.K. All Rights Reserved.
わたしはだれ? 
• 岩尾はるか(@Yuryu) 
• 勤務先: レッドハット株式会社 
– クラウドエバンジェリスト 
– ストレージ(GlusterFS, Ceph)を売ってます 
• 冬コミでLinux Kernel本出します 
– 3日目西地区き-10b 
© Red 2 Hat K.K. All Rights Reserved.
宣伝: Linux Kernel Updates 
• Dockerの基盤技術の 
cgroup, namespaceのソー 
スコード解説をしています 
• Available on Kindle 
bit.ly/lu201408 
© Red 3 Hat K.K. All Rights Reserved.
だいじなおしらせ 
© Red 4 Hat K.K. All Rights Reserved.
© Red 5 Hat K.K. All Rights Reserved.
Dockerとは 
• コンテナ技術を利用したアプリケーションプ 
ラットフォーム 
• コンテナ+イメージ管理+α 
• Kubernetes などの周辺ツールも急速に進化 
© Red 6 Hat K.K. All Rights Reserved.
Docker by Google Trends 
© Red 7 Hat K.K. All Rights Reserved.
コンテナとは 
Linux KVM コンテナ 
© Red 8 Hat K.K. All Rights Reserved.
Linux コンテナの特徴 
• Linux標準のOSレベル仮想化機能 
非仮想化環境コンテナ環境 
© Red 9 Hat K.K. All Rights Reserved.
Linuxコンテナの特徴(2) 
• コンテナごとに独立したリソースを割り当てる 
ことで、アプリケーションの実行環境を分離 
– 異なるプロセスID 
– 異なるファイルシステム 
– 異なるネットワーク設定(仮想NIC) 
– CPU、メモリ割当量を制限 
• ソフトウェア仮想化と共存が可能 
– クラウドの仮想マシン上でも動作 
© Red 10 Hat K.K. All Rights Reserved.
DockerとLinuxコンテナ 
• Dockerは、コンテナを実現する上でLinuxカー 
ネルに既に存在する機能を活用 
– Cgroup, namespace 
– 基盤技術として実績がある 
• Dockerの考え方は、”Immutable 
Infrastructure”と相性が良い 
– Dockerfile によるコンテナ生成(再現性) 
– OSファイルごとイメージ化(環境非依存性) 
© Red 11 Hat K.K. All Rights Reserved.
DockerとLinuxコンテナ(2) 
アプリケーション 
アプリケーション 
eth0 
Devicemapper NAT 
eth0 
ファイルシステム 
/ 
├── bin 
├── etc 
├── usr 
└── ... 
コンテナ 
イメージファイル 
© Red 12 Hat K.K. All Rights Reserved. 
Docker 
Linuxコンテナ(プロセスグループ) 
ホストOS 
作成・管理 
172.17.0.1 
10.0.0.1
Dockerイメージ 
© Red 13 Hat K.K. All Rights Reserved.
起動、終了が非常に高速 
• 新しくコンテナを起動、実行、終了させるのに 
約0.2秒(Core i7 4558U 2.8GHz) 
# time docker run  
-t registry.access.redhat.com/rhel  
/bin/true 
real 0m0.234s 
user 0m0.010s 
sys 0m0.020s 
© Red 14 Hat K.K. All Rights Reserved.
Dockerの開発状況 
© Red 15 Hat K.K. All Rights Reserved.
DockerCon14 
• 米サンフランシスコにて、Docker専門のカン 
ファレンスが開催 
• Red Hat もプラチナスポンサーとして参加 
© Red 16 Hat K.K. All Rights Reserved.
http://blog.docker.com/2014/06/keynote-videos-from-dockercon14/ 
© Red 17 Hat K.K. All Rights Reserved.
Dockerへの支持 
• クラウド環境でのサポート 
– Red Hat OpenShift 
– Amazon Web Services 
– Google Cloud Platform 
• 周辺ソフトウェア 
– Kubernetes 
– Chef for Containers 
© Red 18 Hat K.K. All Rights Reserved.
コンテナ向けLinuxの登場 
• コンテナに最適化されたdistroの登場 
– CoreOS 
– Project Atomic 
– Red Hat Enterprise Linux Atomic Host 
– Ubuntu Core 
• 小さなフットプリント 
• 分散システム向けの機能を持つものも 
– 例: etcd 
© Red 19 Hat K.K. All Rights Reserved.
DevとOps 
Devは 
アプリとライブラリに 
集中 
© Red 20 Hat K.K. All Rights Reserved. 
Opsは 
OSとインフラに 
集中
コンテナのポータビリティ 
© Red 21 Hat K.K. All Rights Reserved.
Continuous Delivery with Docker 
コードをpush 
開発者 
A 
開発者B 
notify & build 
notify & test 
開発・テスト 
開発者C 
デプロイ 
© Red 22 Hat K.K. All Rights Reserved.
Red Hat の取り組み 
• RHELへの移植 
• Device mapper thin-provisioning 
への対応 
– ディスク性能の向上 
• Systemd(RHEL7のプロ 
セス管理機能)との統合 
• SELinuxへの対応 
http://blog.docker.com/2014/06/keynote-videos-from-dockercon14/ 
© Red 23 Hat K.K. All Rights Reserved.
Docker in RHEL 7 
• RHEL 7 の“Extras” チャンネルで利用可能 
• ミッションクリティカル環境では非推奨(2014年 
12月現在) 
© Red 24 Hat K.K. All Rights Reserved.
RHEL6からRHEL7上のコンテナへ 
互換性を保ちつつ、OSレベルの新機能を活用 
© Red 25 Hat K.K. All Rights Reserved.
RHEL Atomic Host 
• コンテナホストのための最低限のOS環境 
– Dockerに対応 
– Systemd, SELinux 対応 
– 少ないディスク、メモリ消費 
– rpm-ostreeの採用 
• ベータ版が利用可能[1] 
[1] https://access.redhat.com/products/red-hat-enterprise-linux/atomic-host-beta 
© Red 26 Hat K.K. All Rights Reserved.
rpm-ostree 
• Atomic Host におけるyum の代替 
• システム全体をスナップショットのように管理 
• 依存関係を追跡しないので高速 
• バージョンアップ、ダウンが容易 
– rpm-ostree {upgrade|rollback|status|…} 
© Red 27 Hat K.K. All Rights Reserved.
コンテナ向け認証 
• 多数の認定ハードウェア 
• 「レッドハットコンテナ認 
定」プログラム 
– コンテナがRHELホスト上で 
動作することを認定 
© Red 28 Hat K.K. All Rights Reserved.
共通のバイナリを異なる環境で 
© Red 29 Hat K.K. All Rights Reserved.
簡単に言うと 
© Red 30 Hat K.K. All Rights Reserved.
RHELの信頼性はそのままに 
Docker向けに最適化 
© Red 31 Hat K.K. All Rights Reserved.
Why Red Hat? 
• 広いハードウェア互換性 
• Linuxカーネル、Docker、ライブラリを含めた一 
貫したサポートの提供 
– Red Hat はLinuxカーネル最大の貢献者 
• 多くの認定ソフトウェア 
• RHEL 7とRHEL 7 Atomic Hostの2つの選択肢 
© Red 32 Hat K.K. All Rights Reserved.
RED HAT 
ENTERPRISE LINUX 
ATOMIC HOST 
Coming Soon 
© Red 33 Hat K.K. All Rights Reserved. 
and CentOS Atomic
まとめ 
• Dockerはコンテナ技術をベースにした、アプリ 
ケーション実行プラットフォーム 
• レッドハットはDockerと、周辺ツールに貢献 
• DevOpsの促進に役立つ 
• RHEL Atomic Host はコンテナ専用RHEL 
© Red 34 Hat K.K. All Rights Reserved.
© Red 35 Hat K.K. All Rights Reserved.

More Related Content

What's hot

What's hot (20)

コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
 
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
 
Dockerについて
DockerについてDockerについて
Dockerについて
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
Docker向け軽量os 3製品比較
Docker向け軽量os 3製品比較Docker向け軽量os 3製品比較
Docker向け軽量os 3製品比較
 
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
 
爆速プレビュープロキシ pool
爆速プレビュープロキシ pool爆速プレビュープロキシ pool
爆速プレビュープロキシ pool
 
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
 
Using LXC on Production
Using LXC on ProductionUsing LXC on Production
Using LXC on Production
 
15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker15分で分か(った気になれ)るDocker
15分で分か(った気になれ)るDocker
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴
 
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
 
Docker volume基礎/Project Longhorn紹介
Docker volume基礎/Project Longhorn紹介Docker volume基礎/Project Longhorn紹介
Docker volume基礎/Project Longhorn紹介
 
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンJAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオン
 
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulicDocker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
 
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
そろそろ知っておきたい!!コンテナ技術とDockerのキホンそろそろ知っておきたい!!コンテナ技術とDockerのキホン
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
 
[Docker Tokyo #35] Docker 20.10
[Docker Tokyo #35] Docker 20.10[Docker Tokyo #35] Docker 20.10
[Docker Tokyo #35] Docker 20.10
 
Weaveを試してみた
Weaveを試してみたWeaveを試してみた
Weaveを試してみた
 

Viewers also liked

Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要
Kazuyuki Mori
 
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~
Kunihiro TANAKA
 

Viewers also liked (20)

DockerとKubernetesが作る未来
DockerとKubernetesが作る未来DockerとKubernetesが作る未来
DockerとKubernetesが作る未来
 
Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要
 
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーションDocker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
 
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
 
Dockerのネットワークについて
DockerのネットワークについてDockerのネットワークについて
Dockerのネットワークについて
 
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
 
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19
 
Dockerの基本的な話
Dockerの基本的な話Dockerの基本的な話
Dockerの基本的な話
 
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~
 
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
 
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~
 
paizaのオンラインジャッジを支えるDockerとその周辺
paizaのオンラインジャッジを支えるDockerとその周辺paizaのオンラインジャッジを支えるDockerとその周辺
paizaのオンラインジャッジを支えるDockerとその周辺
 
Docker Community Edition & Enterprise Edition
Docker Community Edition & Enterprise EditionDocker Community Edition & Enterprise Edition
Docker Community Edition & Enterprise Edition
 
8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版
 
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker
 
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
What's New in Docker Enterprise Edition (in Japanese)
What's New in Docker Enterprise Edition (in Japanese)What's New in Docker Enterprise Edition (in Japanese)
What's New in Docker Enterprise Edition (in Japanese)
 
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
 

Similar to DockerをRed Hatはどのように見ているのか

Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
samemoon
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
Dell TechCenter Japan
 

Similar to DockerをRed Hatはどのように見ているのか (20)

BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
2012.10.23 rh forum
2012.10.23 rh forum2012.10.23 rh forum
2012.10.23 rh forum
 
Ceph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and HowCeph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and How
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
Docker handson
Docker handsonDocker handson
Docker handson
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
 
20230128.pptx
20230128.pptx20230128.pptx
20230128.pptx
 
20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会20130803 OSC@Kyoto CloudStackユーザー会
20130803 OSC@Kyoto CloudStackユーザー会
 
社内勉強会(Docker)
社内勉強会(Docker)社内勉強会(Docker)
社内勉強会(Docker)
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
BuildKitによる高速でセキュアなイメージビルド (LT)
BuildKitによる高速でセキュアなイメージビルド (LT)BuildKitによる高速でセキュアなイメージビルド (LT)
BuildKitによる高速でセキュアなイメージビルド (LT)
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
 
KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
 
Docker活用ソリューション紹介
Docker活用ソリューション紹介Docker活用ソリューション紹介
Docker活用ソリューション紹介
 
DockerからKubernetesへのシフト
DockerからKubernetesへのシフトDockerからKubernetesへのシフト
DockerからKubernetesへのシフト
 
Docker registry入門 第五回コンテナ型仮想化の情報交換会
Docker registry入門 第五回コンテナ型仮想化の情報交換会Docker registry入門 第五回コンテナ型仮想化の情報交換会
Docker registry入門 第五回コンテナ型仮想化の情報交換会
 

More from Emma Haruka Iwao

More from Emma Haruka Iwao (20)

Friction Logging and Internal Advocacy, DevRel/Asia 2020
Friction Logging and Internal Advocacy, DevRel/Asia 2020Friction Logging and Internal Advocacy, DevRel/Asia 2020
Friction Logging and Internal Advocacy, DevRel/Asia 2020
 
Woman Tech Terrace 2020 Keynote - 夢を持ち続ける
Woman Tech Terrace 2020 Keynote - 夢を持ち続けるWoman Tech Terrace 2020 Keynote - 夢を持ち続ける
Woman Tech Terrace 2020 Keynote - 夢を持ち続ける
 
Google Cloud 一般公開データセット
Google Cloud 一般公開データセットGoogle Cloud 一般公開データセット
Google Cloud 一般公開データセット
 
Favorite English YouTube Channels
Favorite English YouTube ChannelsFavorite English YouTube Channels
Favorite English YouTube Channels
 
CephとGluster次期バージョンでの新機能
CephとGluster次期バージョンでの新機能CephとGluster次期バージョンでの新機能
CephとGluster次期バージョンでの新機能
 
Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンGit for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオン
 
Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3
 
Dockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニックDockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニック
 
Storage by Red Hat #rhcpday 2015
Storage by Red Hat #rhcpday 2015Storage by Red Hat #rhcpday 2015
Storage by Red Hat #rhcpday 2015
 
Docker向けOSとか[LT] @ #techgirl 2015/01
Docker向けOSとか[LT] @ #techgirl 2015/01Docker向けOSとか[LT] @ #techgirl 2015/01
Docker向けOSとか[LT] @ #techgirl 2015/01
 
RHEL, CentOS 7 に移行しよう! LT
RHEL, CentOS 7 に移行しよう! LTRHEL, CentOS 7 に移行しよう! LT
RHEL, CentOS 7 に移行しよう! LT
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
 
初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ
 
Rails Girls: Not Only for Girls - RubyKaigi 2014
Rails Girls: Not Only for Girls - RubyKaigi 2014Rails Girls: Not Only for Girls - RubyKaigi 2014
Rails Girls: Not Only for Girls - RubyKaigi 2014
 
AWS VM import / export ハンズオン
AWS VM import / export ハンズオンAWS VM import / export ハンズオン
AWS VM import / export ハンズオン
 
Hello, systemd
Hello, systemdHello, systemd
Hello, systemd
 
私がCephを好きな7つの理由
私がCephを好きな7つの理由私がCephを好きな7つの理由
私がCephを好きな7つの理由
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
 
EC2とLinuxディストロ事情
EC2とLinuxディストロ事情EC2とLinuxディストロ事情
EC2とLinuxディストロ事情
 
What you need to know about ceph
What you need to know about cephWhat you need to know about ceph
What you need to know about ceph
 

DockerをRed Hatはどのように見ているのか

Editor's Notes

  1. 今日は「Dockerについてのお話をします。まず初めに、Dockerの概要についておはなしします。 スライドの後半にDockerのチュートリアルをご用意しています。 時間との関係上チュートリアルのご紹介は一部になりますが、後ほど実際に試される場合は、スライドがダウンロード可能ですのでご参照ください。
  2. Dockerは、コンテナ技術を利用したアプリケーションプラットフォームです。 大きく分けて3つの機能にわかれます。一つはコンテナを使った実行環境の管理、2つめはコンテナで利用するイメージファイルの管理機能、そして3つめがDockerと連携したWebサービスであるDocker Hubです。 下のグラフはGoogle TrendsでOpenStackと検索数を比較したものです。 急速に注目を集めていることがわかります。ここのところは、OpenStackと検索順位が逆転しています。
  3. コンテナをLinux KVMなどのサーバー仮想化と比較して説明します。 カーネルから見ると通常のプロセスと同じ扱いです。 そのためオーバーヘッドがほとんどなく、サーバー仮想化と比べて高速に実行することが可能です。
  4. Linuxコンテナの特徴として、OSの標準機能を活用していることが挙げられます。 つまり、利用するのに特別なカーネルやパッチを導入する必要がありません。 左の図が非仮想化環境、右の図がコンテナ環境を表します。 違いは、いくつかのユーザープロセスがグループ化されて独立しているのみです。 プロセスの実行環境は、非仮想化環境に非常に近く、これまでのLinuxカーネルの資産を有効活用しています。
  5. 具体的には、それぞれのコンテナを「プロセスグループ」として分離し、独立したリソースを割り当てることによって実現しています。 コンテナの中と外では、同じプロセスIDを持っていても異なるプロセスとして存在できますし、ファイルシステムのマウントポイントも独立しています。 また、内外でネットワークインタフェースが別に用意され、それぞれIPアドレスが割り当てられます。 それぞれのコンテナグループのCPU、メモリ割り当て量を制限することも可能です。 また、Linuxコンテナの大きな利点として、KVMを含むソフトウェアによる仮想化と共存できることが挙げられます。 これは、コンテナは仮想化とは全く独立の技術だからです。 そのため、仮想マシンで動作するクラウド環境でも、制限なくDockerを利用することが可能です。
  6. Cgroup, namespace という機能を使ってコンテナ同士を分離しています。 これらの機能はDockerとは無関係に、過去からKernelに存在してきました。そのため、たとえばGoogleなどでは従来から利用されており、基盤技術として実績があります。 Dockerはこの技術の上に作られています。 また近年Webサービスで提案されている “Immutable Infrastructure” という考え方と非常に親和性が高いものになっています。 Dockerのコンテナイメージファイルは、Dockerfileというファイル形式に記述を行うことによって自動的に生成されます。 また、ライブラリや設定ファイルも含めたOS環境ごとイメージファイル化しますので、環境ごとコンテナとして動作させることが可能です。そのため、環境依存の問題が非常に起こりづらくなっています。
  7. こちらのイラストはDockerとコンテナの関係を図示したものです。 Dockerコンテナは、Linux上ではプロセスグループとして存在します。その中に、専用のファイルシステムツリーと、アプリケーションプロセスが所属します。 コンテナには専用のネットワークインタフェースも用意されます。 ファイルしてステムは、devicemapperを経由して現実のコンテナイメージファイルと対応付けされます。 また、ネットワークインタフェースはNATを経由してホストOSのインタフェースと関連づけされ、それぞれ独立のIPアドレスを持ちます。 Dockerはこれらを作成、管理します。
  8. DockerはGitHubで開発されています。 dotcloud/docker というレポジトリが本体です。このほかにいくつかの周辺ライブラリが、dotcloud レポジトリの下に存在します。 DockerはGitHub上では最も盛んに開発が行われているプロジェクトの一つで、スターが13000→17000を超え、forkの数も2300→3500ほどあります。 開発者の数はおよそ700人となっています。この半年で200人増えました。
  9. 今月の9日10日と、アメリカのサンフランシスコにてDockerConというDocker専門のカンファレンスが、2日間に渡って開催されました。 Red Hatもプラチナスポンサーとして参加し、基調講演も行いました。 IBM, Google, Rackspace, Facebook などの大手企業が講演を行い、Dockerの事例やアイデアを共有しました。USでも非常に盛り上がっているといえます。
  10. そのカンファレンスでの、Docker社CTOのSolomon Hykesによって行われた基調講演で、このスライドが登場しました。 Dockerの価値は、技術ではなく、人々が何かを同意するのを容易にしたというメッセージです。 Dockerがベースになっているコンテナ技術は、古くから存在し、Dockerは何も新しいことを実現していないとよく言われます。 そこで、技術が新しいのではなく、使いやすく整備し、多数の人間が同じ基盤でコラボレーションできる環境を作り上げた、というのがDockerの価値だと強調していました。
  11. Dockerへの支持は急速に広がっています。 Amazon Web Services や Google Cloud Platform では、Dockerイメージをそのまま動作させるようにサポートされています。 またTwitter, eBay, Groupon といった大手Webサービスで、プロダクション環境への応用が始まっています。 JIRAなどのツールで有名なAtlassianは、アプリケーションをDockerコンテナの形で配布することにより、インストールを非常に簡単にしています。
  12. 続いてRed Hatの取り組みをご紹介します。 Red Hat は、Dockerの開発に貢献しています。 まず、Ubuntu上で開発されていたDockerを、RHELへ移植を行いました。また、イメージファイルの管理にAUFSという技術が従来使われていたのですが、device mapper thin provisioning という機能で再実装しました。これにより、ディスク性能が向上しています。 また、RHEL7で導入されたプロセス管理機能であるsystemdへの対応を行いました。 さらに、SELinuxへの対応を行い、SELinuxが有効の状態でもDockerが動作するようになりました。 この右のスライドは、DockerConの基調講演でRed Hatの取り組みが紹介されたスライドです。
  13. RHEL7では、Dockerが利用可能になりました。 現在のところ、 “Extra”チャネルという別のyumレポジトリにより提供されています。 プロダクション環境では非推奨ですが、まずはお試しいただけるようになっています。
  14. Red Hat では RHEL Atomic Host というプロジェクトに取り組んでいます。 これはDockerコンテナを実行するための最低限のOS環境となっています。 Dockerのほかに、Linux KVMを実行させることもできます。 つまり、Linux上で直接アプリケーションを実行するのではなく、原則コンテナ内で実行させようという動きのひとつです。 upstreamのオープンソースプロジェクトとして、Project Atomicというものが存在しています。RHELでのFedoraに相当します。 この Atomic Host は現在リリースは計画中で、まだ利用することはできません。
  15. ライブラリ、OSの実行ランタイムに価値がある