Docker入門

1,777 views
1,663 views

Published on

第4回 JAWS-UG 岡山で発表した内容です

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,777
On SlideShare
0
From Embeds
0
Number of Embeds
271
Actions
Shares
0
Downloads
43
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Docker入門

  1. 1. Docker入門 2014.04.19 山本 和久
  2. 2. 自己紹介 • 株式会社リゾーム • AWS • Chef • Jenkins • Webistarno(Kibitsu) • 好きなawsサービス • SES
  3. 3. Dockerとは • コンテナ型仮想化ソフトウェア • LXC • AUFS • boot2docker • docker index
  4. 4. コンテナ型仮想化ソフトウェア
  5. 5. の、説明の前に
  6. 6. 仮想化の種類 • ホスト型 • ハイパーバイザー型 • コンテナ型
  7. 7. ホスト型 • VMWare Fusion • VirtualBox • ParallelsDesktop ハードウェア ホストOS 仮想ハードウェア 仮想化ソフト 仮想ハードウェア ゲストOS ゲストOS アプリケーション アプリケーション ホストOSのミドルウェアとして 仮想化ソフトが動作する。 ホストOSのオーバーヘッドが大 きい。
  8. 8. ハイパーバイザー型 • VMWare ESXi • Hyper-V ハードウェア 仮想ハードウェア 仮想化ソフト 仮想ハードウェア ゲストOS ゲストOS アプリケーション アプリケーション ホストOSを利用せず仮想化ソフ トがOSより高い特権レベルで動 作する。
  9. 9. コンテナ型 • LXC • FreeBSD Jail • Docker ハードウェア bin/lib ホストOS bin/lib アプリケーション アプリケーション プロセスをグループ化して他の グループと隔離 グループ化したプロセスに対す るリソース制限
  10. 10. コンテナ型は 「仮想化」というより 「隔離化」である。
  11. 11. コンテナ型のメリット • 起動が速い • OSから見るとプロセスが立ち上がっているだけ • システムを動かす必要がない • httpだけ動かす • コンテナにメモリを固定で割り当てなくてよい • 仮想マシンの上でも動作する !
  12. 12. コンテナ型のデメリット • 異なるOSのシステム/プログラムは動かせない • Linux上でSolarisのバイナリは動かせない • カーネルに関わる操作はできない !
  13. 13. LXCとは • Docker以前からLinuxで採用されていたコンテ ナ型仮想化システム • Ubuntuに依存 • Docker0.9より前のバージョンではLXCに依存 していた
  14. 14. AUFSとは • 異なるファイルシステムのファイルやディレクト リを透過的に重ねて、ひとつのファイルツリーを 構成できるファイルシステム • OSのLiveCD • 光学メディアに書き込むべき内容をメモリ上に 書き込む • 元のファイル・システムの上に、差分データを被 せて管理する仕組み
  15. 15. AUFSとは http://docs.docker.io/en/latest/terms/layer/
  16. 16. boot2docker • Docker0.8からMacOS Xに正式対応 • MaxOS XはLinuxカーネルではない! • CoreOSを利用した軽量LinuxをVagrantで起動 する。
  17. 17. boot2docker $ brew update $ brew install docker boot2docker $ export DOCKER_HOST=tcp://localhost: 4243 $ boot2docker start
  18. 18. そろそろ動かしてみたく なってきましたか?
  19. 19. demo
  20. 20. docker index • Dockerはディスクイメージの差分をGitのよう に扱える • Githubのようなものがあってもよいのでは? • public無料 • private有料
  21. 21. docker index https://index.docker.io/plans/
  22. 22. Dockerを取り巻く状況 • 開発環境 • Vagrantでよくないかい? • Dockerは差分更新が可能なのが利点 • テスト環境 • アプリケーションと環境の依存度が高け ればメリットあり
  23. 23. Dockerを取り巻く状況 • 本番環境 • 機能ごとにコンテナを分けてネットワー クで接続する • Webサーバー • アプリサーバー • RDB • KVS
  24. 24. Dockerを取り巻く状況 • RDBはImmutable Infrastructureと相性が悪 い… • KVSに切り替えてアプリケーション側で がんばる?
  25. 25. まとめ • Dockerの上手な運用については模索中 • 面白い使い方を思いついたら情報共有して ください > <
  26. 26. あっ!
  27. 27. awsの話をしてない?
  28. 28. Amazon Linux AMI 2014.03
  29. 29. はじめました!
  30. 30. おしまい

×