VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 378 views

VMwareユーザのためのDocker入門。

VMwareユーザのためのDocker入門。
DockerとVMwareのリンククローンやProject Fargo,CloudVolumesの比較や解説

Statistics

Views

Total Views
378
Views on SlideShare
364
Embed Views
14

Actions

Likes
0
Downloads
3
Comments
0

1 Embed 14

https://twitter.com 12

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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 要するに適材適所