SlideShare a Scribd company logo
VMwareユーザのための 
docker入門 
工藤真臣 
1
免責事項 
• 書いてあることが全部正しいこととは限りません 
• 間違ってても石を投げないでください 
2
dockerって? 
• LinuxコンテナやUnionMountで実現するコンテナ型仮想化をいまどきの 
Git風に実装された管理ツール 
3 
カーネル空間 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
カーネル空間 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
非仮想化環境仮想コンテナ環境 
カーネル空間カーネル空間 
カーネル空間 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
仮想マシン環境 
Hypervisor
dockerのアーキテクチャ 
• dockerはあくまでも管理ツール 
• Linuxコンテナ自体が複数の技術から構成されている 
• 各コンポーネントごとに抽象化されているため、 
様々な技術の組み合わせが可能 
• 特にLinuxコンテナを便利に使えるように、コンテナのイメージの管理に 
色々な配慮がされている 
• コンテナイメージを公開するためのレジストリが公開されていたり、 
イメージを高速展開するための差分ディスク作成等が特徴 
4
便利なの? 
• 公開されているレジストリからCentOSのテンプレートの最新版を取得 
# docker pull centos:latest 
• 取得済みイメージからコンテナを実行 
# docker run centos:latest 
• 稼動中のコンテナからイメージを作成 
# docker commit コンテナ名イメージ保存先 
• 定義ファイルからコンテナを作成 
# docker build コンテナ名イメージ保存先 
• 作成したイメージをレジストリに公開する 
# docker push コンテナ名 
5
定義ファイルからイメージを作成 
パラメータ用途 
FROM テンプレートになるDockerイメージの指定 
MAINTAINER 公開者の情報 
RUN コマンドの実行 
ADD ファイルやディレクトリを追加 
CMD コンテナーの実行コマンド1 
ENTRYPOINT コンテナーの実行コマンド2 
WORKDIR 作業ディレクトリの指定 
ENV 環境変数の設定 
USER 実行ユーザの指定 
EXPOSE ネットワークポートの公開 
VOLUME 外部ボリュームのマウント 
6
イメージがあれば 
展開,ログオンまで 
数秒 
7
Immutable 
Infrastructure 
ぽくね? 
8
Dockerやるな! 
9
もしかして 
ESXiの 
ライバル?!! 
10
コンテナ型って 
ホストのカーネルを共有して 
いるから 
動作するOSに制限が 
あるんじゃ? 
11
12 
仮想コンテナ環境 
カーネル空間 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
カーネル空間カーネル空間 
カーネル空間 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
仮想マシン環境 
Hypervisor 
CentOS Ubuntu 
CentOS Windows
確かにOSが 
色々必要だと 
いいかもね 
13
でも仮想マシンって 
クローン作成するのも 
時間がかかるよね? 
何かあるの? 
14
あるよ 
15
リンククローン 
• テンプレートになるディスクを読み取り専用として、 
書き込み可能な差分ディスクをレイヤリングして使用可能にする技術 
16
さっきの図を使うとこんな感じ 
17 
カーネル空間 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
カーネル空間 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
非仮想化環境仮想コンテナ環境 
仮想マシン環境 
プ 
ロ 
セ 
ス 
Hypervisor 
リンククローン 
カーネル空間 
プ 
ロ 
セ 
ス 
カーネル空間 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
カーネル空間 
書き込み差分 
テンプレート 
(読み取り専用)
18 
リンククローンって 
VDI専用じゃないの?
19 
vSphere単体でもできるよ 
New-VM -Name MyLinkedCloneVM1 
-VM $mySourceVM -LinkedClone -ReferenceSnapshot $myReferenceSnapshot 
-ResourcePool $vmhost -Datastore $myDatastore 
とかvCenter Orchestratorとか
dockerのリンククローン 
• Linuxのカーネルに実装されている、Union Mount(AUFS),LVM Thin 
Provisioningを使ったりしてファイルシステムのレイヤリングを実現 
20
さっきの図を使うとこんな感じ 
21 
カーネル空間 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
Apache MySQL 
Apache Oracle 
カーネル空間 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
非仮想化環境仮想コンテナ環境 
仮想マシン環境 
プ 
ロ 
セ 
ス 
Hypervisor 
カーネル空間 
プ 
ロ 
セ 
ス 
カーネル空間 
プ 
ロ 
セ 
ス 
プ 
ロ 
セ 
ス 
カーネル空間 
テンプレート 
(読み取り専用) 
OSテンプレート 
(読み取り専用) 
OSテンプレート 
(読み取り専用) 
OSテンプレート 
(読み取り専用) 
リンククローン 
AUFS AUFS 
Apache MySQL Oracle
22 
差分展開できても 
完全仮想化だよね? 
起動時間は 
早くならないよね?
23 
リンククローンて 
複数のテンプレートを 
合成できたっけ?
ぐぬぬぬ・・・ 
24
25
26
リンククローンと 
何が違う?おいしいの? 
27
メモリも差分だけで展開可能 
28
29
あれっ複数ディスクから 
1つのイメージ作る件は 
どうした? 
30
31
32
Cloud Volumesとは 
• ThinAppのようにOSレイヤは吸収できないけど、dockerのAUFS相当な 
らもっとクールに実現できる 
33
これでデータの割り当ては思いのまま 
34
35 
Project FargoとCloud 
Volumeの組み合わせも可能
36
でもライセンスは必要 
37
本日のまとめ 
docker vSphere Project Fargo Project Meteor 
仮想化方式コンテナハイパーバイザーハイパーバイザーハイパーバイザー 
OS柔軟性 
× 
Linuxカーネル依存 
◎ 
かなり自由 
◎ 
かなり自由 
◎ 
かなり自由 
性能オーバヘッド 
◎ 
極小 
△ 
小~中 
△ 
小~中 
△ 
小~中 
イメージの展開+起動 
○ 
差分ディスク 
△ 
差分ディスク 
○ 
差分ディスク+ 
差分メモリ 
○ 
差分ディスク+ 
差分ディスク 
アプリケーション柔軟性 
○ 
展開後自動実行+ 
定義ファイル 
× 
なし 
× 
なし 
◎ 
共有ディスク+ 
差分ディスク 
38 要するに適材適所

More Related Content

PPTX
15分で分か(った気になれ)るDocker
PDF
Dockerクイックツアー
PDF
Docker 基本のおさらい
PDF
Docker入門
PPTX
【社内勉強会】Docker入門
PDF
Docker volume基礎/Project Longhorn紹介
PPTX
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
PPTX
Docker超入門
15分で分か(った気になれ)るDocker
Dockerクイックツアー
Docker 基本のおさらい
Docker入門
【社内勉強会】Docker入門
Docker volume基礎/Project Longhorn紹介
Docker入門~word press環境を作ってみる ハンズオン編 ver1.4~ pulic
Docker超入門

What's hot (20)

PDF
Dockerについて
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
PDF
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
PDF
DockerでWordPressサイトを開発してみよう
PDF
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
PDF
Docker Compose 徹底解説
PDF
Docker超入門
PDF
Dockerを支える技術
PDF
Docker with RHEL7 技術勉強会
PDF
オトナのDocker入門
PDF
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
PDF
Docker hands on nifty sakura jul19
PPTX
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
PDF
Using LXC on Production
PPTX
DockerをRed Hatはどのように見ているのか
PDF
Docker ComposeでMastodonが必要なものを梱包する話
PDF
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
PPTX
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
PDF
JAWS-UG コンテナ支部 Docker入門 ハンズオン
PDF
Dockerイメージ構築 実践テクニック
Dockerについて
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
DockerでWordPressサイトを開発してみよう
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Docker Compose 徹底解説
Docker超入門
Dockerを支える技術
Docker with RHEL7 技術勉強会
オトナのDocker入門
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
Docker hands on nifty sakura jul19
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
Using LXC on Production
DockerをRed Hatはどのように見ているのか
Docker ComposeでMastodonが必要なものを梱包する話
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
JAWS-UG コンテナ支部 Docker入門 ハンズオン
Dockerイメージ構築 実践テクニック
Ad

Viewers also liked (20)

PDF
CFの便利機能を他の環境でも。Open Service Broker
PPT
VMware NSX で作る VDI 環境のファイアウォール
PDF
OpenStackを体で操作する
PDF
VMwareで手っ取り早く社内システムをHAサーバ化してみました (bpstudy#38)
PDF
常識の壁を打ち破れ(VMware ThinApp でWindowsを仮想化)
PDF
VlanManagerを使ってみた
PDF
VMware的インフラ仮想化の世界
PDF
Docker事始めと最新動向 2015年6月
PPTX
paizaのオンラインジャッジを支えるDockerとその周辺
PDF
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
PPTX
Dockerの基本的な話
PPTX
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~
PPTX
Dockerのネットワークについて
PDF
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
PDF
Dockerの基本と応用~快適コンテナライフを実現するArukas~
PDF
Docker技術情報アップデート 2015年7月号
PDF
8a1#19[はじめてのdocker] 公開版
PDF
What's New in Docker Enterprise Edition (in Japanese)
PDF
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
PPTX
Docker Community Edition & Enterprise Edition
CFの便利機能を他の環境でも。Open Service Broker
VMware NSX で作る VDI 環境のファイアウォール
OpenStackを体で操作する
VMwareで手っ取り早く社内システムをHAサーバ化してみました (bpstudy#38)
常識の壁を打ち破れ(VMware ThinApp でWindowsを仮想化)
VlanManagerを使ってみた
VMware的インフラ仮想化の世界
Docker事始めと最新動向 2015年6月
paizaのオンラインジャッジを支えるDockerとその周辺
Docker 1.12 & Swarm Mode Introduction ~ Docker の新しい技術と swarm モードの紹介
Dockerの基本的な話
OSC 2014 Tokyo/Spring さくらの社長が語る!「さくらのクラウド」でのウェブサービスかんたん運用術~Dockerをつかってみた~
Dockerのネットワークについて
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Docker技術情報アップデート 2015年7月号
8a1#19[はじめてのdocker] 公開版
What's New in Docker Enterprise Edition (in Japanese)
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker Community Edition & Enterprise Edition
Ad

Similar to VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~ (20)

PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
PDF
ソフトウェア工学2023 06 コンテナ仮想化
PPTX
今さら聞けない人のためのDocker超入門 - KOF
PPTX
今さら聞けない人のためのDocker超入門
PPTX
今さら聞けない人のためのDocker超入門
PPTX
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
PDF
OpenNebula on Ubuntu
PDF
Dockerの仕組みとIIJ社内での利用例
PPTX
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PPTX
Docker入門 OSC 2018 Tokyo/Spring
PPTX
LinAction Theme Docker
PDF
Docker handson
PDF
VagrantユーザのためのDocker入門
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
PPTX
Docker & Kubernetes基礎
PDF
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
PDF
ゆるふわなDockerの使い方
PDF
Dockerを使ってみよう
PDF
捕鯨!詳解docker
PDF
Dockerでらくらく開発・運用を体感しよう
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
ソフトウェア工学2023 06 コンテナ仮想化
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
OpenNebula on Ubuntu
Dockerの仕組みとIIJ社内での利用例
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
Docker入門 OSC 2018 Tokyo/Spring
LinAction Theme Docker
Docker handson
VagrantユーザのためのDocker入門
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker & Kubernetes基礎
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
ゆるふわなDockerの使い方
Dockerを使ってみよう
捕鯨!詳解docker
Dockerでらくらく開発・運用を体感しよう

VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~