Your SlideShare is downloading. ×
0
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply
iPhone sideview for SlideShare app

Docker技術情報アップデート 2015年7月号

0

Published on

タイトル:Docker技術情報アップデート 2015年7月号
日時:2015年7月13日(月) 19:30 - 21:00
場所:UDX CONFERENCE@東京都千代田区
【報告会】DockerCon2015レビュー http://connpass.com/event/17050/

1. 現状整理と Docker のツール群
2. Docker 1.7 で何が変わった野か?
3. Docker のオーケストレーション

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

No Downloads
Views
Total Views
0
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. 1. Docker技術情報アップデート 2015年7月号 2015年7月13日(月) 【報告会】DockerCon 2015 レビュー @zembutsu Technology Evangelist; Creationline, Inc. WHAT’S NEW ABOUT DOCKER 背景画像CREDIT:スフィア / PIXTA(ピクスタ)
  2. 2. 2 このスライドで得られる知識 Docker技術情報アップデート 2015年7月号 ‣ 現状整理とDockerのツール群 Dockerを取り巻く状況が、DockerCon 2015 で更に加速。 ‣ Docker 1.7 で何が変わったのか? サードパーティ製プラグイン、ネットワーク、ボリューム管理、そしてオーケストレーション。 ‣ Dockerのオーケストレーション Docker Machine、Docker Swarm、Docker Compoes がバージョン v0.3.0 に。そして、それぞれの連携へ。
  3. 3. http://www.slideshare.net/zembutsu/introduction-to-docker-management-and-operations-basic Dockerを具体的に使う方法や セットアップ方法は、基礎編 資料をご参考にいただければ と思います。
  4. 4. 4 自己紹介 ‣ 前佛雅人 - Technology Evangelist; Creationline, Inc. – 1.5 yrs - Data Center Operations Engineer – 15+ yrs 興味関心:運用監視自動化、趣味でOSSやクラウド系の検証・情報発信 - SlideShare http://slideshare.net/zembutsu - Blog http://pocketstudio.jp/log3 書籍・記事 - Serf/Consulで管理を自動化! (Gihyo.jp) http://gihyo.jp/admin/feature/01/serf-consul - HashiCorpのツール群からみる インフラ構築運用の未来 (Think IT) http://thinkit.co.jp/book/2015/03/05/5700 Why am I here? +MasahitoZembutsu ISBN-10: 4774174416 ISBN-10: 4844338145 ISBN-10: 4798139785 私は開発者の立場というより、 運用の視点でDockerに期待。
  5. 5. 現状整理 ● ○ ○ ○
  6. 6. Amazon Web Services Google Cloud Platform Windows Azure SoftLayer Niftyクラウド さくらのクラウド Salesforce Heroku DigitalOcean LinodeさくらのVPS VMware Circle CI Jenkins GitHub Slack NewRelic Datadog IaaS パブリック・クラウド PagerDuty Atlas Cloud n クラウドを取り巻く業界俯瞰図 Mackerel OpenStack CloudStack 業界の状況を振り返ります。
  7. 7. OpenStack CloudStack Mackerel Amazon Web Services Google Cloud Platform Windows Azure SoftLayer Niftyクラウド さくらのクラウド Salesforce Heroku DigitalOcean LinodeさくらのVPS VMware Circle CI Jenkins GitHub Slack NewRelic Datadog IaaS パブリック・クラウド 日本国内 パブリック クラウド VPS Monitoring PagerDuty Operations CI PaaS Atlas プライベート クラウド 開発環境 SaaS Cloud n Docker ( Linux Containers) クラウドを取り巻く業界俯瞰図 2年前Dockerやコンテナ界隈が 盛り上がったと思っていたら
  8. 8. OpenStack CloudStack Mackerel Amazon Web Services Google Cloud Platform Windows Azure SoftLayer Niftyクラウド さくらのクラウド Salesforce Heroku DigitalOcean LinodeさくらのVPS VMware Circle CI Jenkins GitHub Slack NewRelic Datadog IaaS パブリック・クラウド 日本国内 パブリック クラウド VPS Monitoring PagerDuty Operations CI PaaS Atlas プライベート クラウド 開発環境 SaaS Cloud n Docker ( Linux Containers) クラウドを取り巻く業界俯瞰図 一気に様々な業界を巻き込む ようになっています。何故?
  9. 9. 物理時代 仮想化・クラウド時代 コンテナ時代 機 材 発 注 機 材 納 品 設 置 機 器 設 定 事 前 設 計 ク リ ッ ク 見 積 も り O S 設 定 環 境 構 築 試 験 利 用 開 始 試 験 開 発 試 験 運 用 利 用 開 始 … … 事 前 設 計 ク リ ッ ク 試 験 利 用 開 始 … 事 前 設 計 ク リ ッ ク 試 験 利 用 開 始 … 開 発 段 階 検 証 段 階 本 番 段 階 すべてを迅速に、一貫した環境で行いやすい← New 課題を解決するための手段で 大ざっぱに区分できるのかも しれません。
  10. 10. 物理マシン 物理マシン 物理マシン OS OS OS HyperVisor HyperVisor HyperVisor VM VM VM VM VM VM Guest OS Guest OS Guest OS Guest OS Guest OS Guest OS 物理マシン 仮想マシン クラウド OS OS OS Docker Engine Docker Engine Docker Engine App App App App App App App App App App 仮想化・クラウド Dockerのコンテナ管理 なぜコンテナ管理用のプラットフォームが必要なの?? とはいえ、まだ発展途上です。
  11. 11. 物理マシン 物理マシン 物理マシン OS OS OS HyperVisor HyperVisor HyperVisor VM VM VM VM VM VM Guest OS Guest OS Guest OS Guest OS Guest OS Guest OS 物理マシン 仮想マシン クラウド OS OS OS Docker Engine Docker Engine Docker Engine GUI CLI API Docker Cluster 管理レイヤ ( Docker Swarm, rkt, Rancher …etc ) App App App App App App App App App App コンテナ単体は環境が揃って きましたが、束ねるのが問題。
  12. 12. 物理マシン 物理マシン 物理マシン OS OS OS HyperVisor HyperVisor HyperVisor VM VM VM VM VM VM Guest OS Guest OS Guest OS Guest OS Guest OS Guest OS App App App App 物理マシン 仮想マシン クラウド OS OS OS Docker Engine Docker Engine Docker Engine App App App App App App GUI CLI API Docker Cluster 管理レイヤ ( Docker Swarm, rkt, Rancher …etc ) オーケストレーション サービス検出・クラスタ管理 実サービスの基盤にむけて、 様々な取り組みが進みます。
  13. 13. APCERA Cloud Foundry shippable Google Container Engine Amazon EC2 Container Service IBM Containers on Bluemix コンテナを取り巻く業界俯瞰図 開発環境 Build / Deploy 運用自動化 Orchestration kitematic Etcd SkyDNS Service Discovery Docker fleet flannel rkt CoreOS Tectonic Mesosphere Apache Auora Marathon Cluster Management Kubernetes 構成管理 Docker Swarm Docker Machine Docker Compose Docker特化OS PaaS Networking コンテナ管理用プラットフォーム たとえばDocker周辺だけでも 多くの技術や会社があります。
  14. 14. パブリック・クラウド陣営 Google Container Engine Amazon EC2 Container Service IBM Containers on Bluemix Google Kubernetes Tectonic CoreOS 商用サポート/エンタープライズ 管理・効率化 Docker ネイティブサポート 最小環境 Docker 競合 オープンソース コミュニティ プラットフォームまわりでも 混沌とした状態でした。
  15. 15. 15 DockerCon 2015 ‣ Docker, Inc.主催 サンフランシスコ 6月22日・23日の2日間 セッション、ハンズオン、 トレーニング、ブース出展 しかし、DockerConでの発表が 状況を一変させます。
  16. 16. Google Kubernetes CoreOS× libcontainer 廃止 The Open Container Project (OCP) runC Orchestration PROJECT ORCA appcは独自に継続 Linux Foundation 事務局として協力 Google Container Engine IBM Containers on Bluemix Amazon ECS 割と綺麗に区分できるように
  17. 17. CoreOS 例えば、そもそもコンテナを 何処で動かすかという選択肢、 今日は以下の3つがあります。 RancherOSは日本ではマイナー ですがOSイメージが22MBとい う小さなモノ。CoreOSの180MB よりも小さいサイズ。
  18. 18. なお、RancheOSとRancherは 別のものです。Docker管理を 行うGUIやAPI・クラスタ管理 をするのがRancher。
  19. 19. OS サーバ Docker OS サーバ Docker Rancher agent ( rancher/agent ) Rancher agent ( rancher/agent ) 管 理 用 コ ン テ ナ コ ン テ ナ 管 理 用 コ ン テ ナ コ ン テ ナ … コンテナ・インフラ層(オーバレイ・ネットワーク) 10.42.0.0/16 OS サーバ Docker Rancher agent ( rancher/agent ) 管 理 用 コ ン テ ナ コ ン テ ナ … サービス層 Web Database LBWordPress
  20. 20. OS サーバ Docker Rancher Management Server ( rancher/server ) OS サーバ Docker OS サーバ Docker Rancher agent ( rancher/agent ) Rancher agent ( rancher/agent ) 管 理 用 コ ン テ ナ コ ン テ ナ 管 理 用 コ ン テ ナ コ ン テ ナ … … Amazon EC2, Google Compute Engine, Azure, DigitalOcean, SoftLayer, Rackspace, Openstack..etc GUI オーバレイ・ネットワーク 10.42.0.0/16 Cloud Providers API API docker-compose.yaml rancher-compose.yml Rancher Compose TCP:22 TCP: 9345, 9346 UDP: 500-4500(IPsec)
  21. 21. Dockerとツール群 (https://www.docker.com/products) Docker Engine Dockerコンテナの起動と実行 Docker Swarm クラスタリングとスケジューリング Docker Compose 複数のアプリケーションコンテナを定義 Docker Machine 共通したコンテナ実行環境 Kitematic デスクトップ向け GUi Docker Registry コンテナの保管庫 Docker Hub Enterprise Dockerも様々な周辺ツールを 提供しはじめました。
  22. 22. https://hub-beta.docker.com/ 新しいDockerHub画面も公開し フィードバックを受付中です。
  23. 23. Docker 1.7 ● ● ○ ○
  24. 24. DockerConにあわせて、新しい Docker 1.7 がリリースされま した。ブログの投稿をざっと みていきます。 https://blog.docker.com/2015/06/announcing-docker-1-7-multi-host-networking-plugins-and-orchestration-updates/
  25. 25. 25Introduction to Docker Basic Course ‣ ネットワーク ‣ プラグイン・システム ‣ その他 • ZFS ストレージドライバ • 新ライブラリ libnetwork • 新ボリュームシステム Docker Engine 1.7 Dockerの本体(デーモン)を 最近ではDocker Engineの様に 呼称されています。
  26. 26. root@docker2:~# docker network ls NETWORK ID NAME TYPE 93c80db1b824 host host e7801bd12b68 bridge bridge ef47199326ce none null root@docker2:~# docker network create test 753a6c99c0cf6d4e843aaca7b92ef999bfa0e2f41877f967ad76a43aef7a970a root@docker2:~# docker network ls NETWORK ID NAME TYPE ef47199326ce none null 93c80db1b824 host host e7801bd12b68 bridge bridge 753a6c99c0cf test bridge root@docker2:~# docker network info 75 Network Id: 753a6c99c0cf6d4e843aaca7b92ef999bfa0e2f41877f967ad76a43aef7a970a Name: test Type: bridge 次期Docker 1.8では、新しい ネットワーク管理コマンドが サポートされる予定です。 開発版(1.8-dev)で試せます。
  27. 27. 27Introduction to Docker Basic Course ‣ Docker Engine の機能拡張(実験的) ‣ サードパーティ製のDocker拡張ツール Flocker plugin - ネットワーク・ドライバ・プラグイン • Weave http://weave.works/ ( Weaveworks, Glider Labs ) – Weave Net、Weave Scope、Weave Run Calico Plugin – ネットワーク・ドライバ・プラグイン http://www.projectcalico.org/ Weave plugin - ボリューム・プラグイン • Flocker https://clusterhq.com/flocker/ ( ClusterHQ ) – ZFS を使うボリューム管理システム プラグイン プラグインの形式やファイル があるわけでなくDockerAPIを 通しての機能拡張を呼称。 現時点で3つ公開中です。
  28. 28. root@ubuntu:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4e4646bad5e1 peterbourgon/tns-lb:latest "/lb app1 app2" About a minute ago Up About a minute 0.0.0.0:8001->80/tcp root_lb1_1 6572819808c6 peterbourgon/tns-lb:latest "/lb app1 app2" About a minute ago Up About a minute 0.0.0.0:8002->80/tcp root_lb2_1 24d3268d8bcb peterbourgon/tns-app:latest "/app db1 db2 db3" About a minute ago Up About a minute 8080/tcp root_app1_1 da2bdfc8461f peterbourgon/tns-app:latest "/app db1 db2 db3" About a minute ago Up About a minute 8080/tcp root_app2_1 83b8aa62ae99 peterbourgon/tns-db:latest "/db db1 db2 db3" About a minute ago Up About a minute 9000/tcp root_db3_1 cdcc82cc7ed4 peterbourgon/tns-db:latest "/db db1 db2 db3" About a minute ago Up About a minute 9000/tcp root_db2_1 8d52027e32c7 peterbourgon/tns-db:latest "/db db1 db2 db3" About a minute ago Up About a minute 9000/tcp root_db1_1 個人的にWeaveScopeが面白い です。たとえば、沢山のコン テナが起動すると、関係性が 分かりづらいのですが、、
  29. 29. $ wget –O scope git.io/scope $ chmod a+x ./scope $ sudo mv scope /usr/local/bin/scope $ nohup scope & それが、ブラウザ上で関係を 簡単に視覚化してくれます。 scopeバイナリを起動した後、 ポート4040にアクセスします。 ※http://weave.works/
  30. 30. ネットワーク、コンテナ、ア プリケーション(PID)レベルで 繋がりをリアルタイム視覚化。
  31. 31. 31Introduction to Docker Basic Course ‣ オーケストレーション強化 • Docker Machine, Swarm, Compose それぞれ v0.3.0 リリース • 以前のバージョンに比べ、お互いが連携 Docker Engine 1.7 Pluginはサードパーティー製、 Dockerはクラスタ管理に注力。 いわゆるオーケストレーショ ンと呼ばれる分野です。
  32. 32. オーケストレーション ● ● ● ○
  33. 33. このアイコンを見てると、
  34. 34. ┌──────────────────────┐ │ドッカースウォームが あらわれた! │ │ドッカーコンポーズが あらわれた! │ │コマンド? │ │ ∨ │ └━━━━━━━━━━━━━━━━━━━━━━┘ ┌────┐ │ていじで │ │かえろう │ └━━━━┘ ┌──────コマンド─────┐ │ たたかう じゅもん │ │ にげる げんじつとうひ │ └━━━━━━━━━━━━━━━┘ > 敵が現れた的な 感じがありますが・・・
  35. 35. 社外開発環境 本番環境ステージング環境 社内共有開発環境 個人開発環境 社内テスト環境 社外開発環境 本番環境ステージング環境 CI/CD Docker レジストリ Docker動作環境(docker machine) 様々な環境を繋ぎ混むツール という位置付けです。
  36. 36. 36Introduction to Docker Basic Course ‣ Docker 動作環境の自動作成 仮想サーバの起動と Docker のプロビジョニングを自動的に行う ‣ コマンドラインで使うツール docker-machine –d <ドライバ> [option] マシン名 …のように、コマンドで操作 ‣ Linux, Windows, Mac OS X に対応 ‣ VirtualBox だけでなく、多くのクラウドに対応 Amazon Web Services, DigitalOcean, exoscale, Google Compute Engine, SoftLayer, Azure, Hyper-V, OpenStack, RackSpace, VMwareFusion, VMwarea vCloud Air, VMware vSphere, SSH 可能なリモートホスト Docker Machine まず1つめ。これまでの boot2dockerにとって変わるよ うなものです。まだベータ版 であり本番での利用は非推奨。
  37. 37. Mac OSやWindows機でDockerを 使うには、boot2dockerを入れ るのが一般的です。
  38. 38. リモートも一緒に管理します。
  39. 39. クラウド上では仮想マシンを 起動し、さらにDockerを設定 する必要がありました。 docker machineはマシン起動 とセットアップも自動的に行 います。
  40. 40. 今回のバージョン0.3.0からは ファイルやディレクトリを 複製するコマンドがサポート。
  41. 41. http://qiita.com/zembutsu/items/9d189da5d2c7708717a3 日本語で詳しくはコチラをご 覧ください。
  42. 42. 42Introduction to Docker Basic Course ‣ Docker クラスタ管理ツール Docker ホストの集まりを作成したり、アクセスできるようにするツールで、API を持つ ‣ コマンドラインで操作 docker-machine で環境を作り、docker run swarm create ‣ クラスタ形成 ディスカバリ(マネージャへの登録に、consul や etcd にも対応) フィルタ(コンテナを配置する条件の設定は、Docker を抽象化) ストラテジ(どこのノードにコンテナを自動配置するか方針設定) Docker Swarm Swramは、Machineとの連携が 進みました。Machineで作成時 簡単にクラスタを組めます。
  43. 43. VM Docker Swarm Manager Dokku, Docker Compose, Krane, Jenkins, Apache Mesos … VM Docker VM Docker VM Docker … コンテナ コンテナ コンテナ コンテナ どこにコンテナを置くか管理 するものです。
  44. 44. http://qiita.com/zembutsu/items/a1f0a89581d1d5832e2e こちらも詳しくは
  45. 45. 45Introduction to Docker Basic Course ‣ 複数コンテナのアプリケーション自動設定 Dockerfile を複数のコンテナに拡張したようなイメージ ‣ コマンドラインで操作 docker-compose docker-compose.yml ‣ Linux, Windows, Mac OS X に対応 ‣ 構成情報を YAML 形式のファイルで定義 Docker Compose 最後にComposeという複数の コンテナをファイルで管理。
  46. 46. docker-compose.yml web: build: . command: php -S 0.0.0.0:8000 -t /wordpress ports: - "8000:8000" links: - db volumes: - .:/wordpress db: image: orchardup/mysql environment: MYSQL_DATABASE: wordpress Dockerfile FROM orchardup/php5 ADD . /wordpress 複数のコンテナを1つの設定 ファイルに集約します。が、 現時点で複数ホストにわたる 管理は行えません。開発中の Swarm や Machine との連携が 待たれます。
  47. 47. http://qiita.com/zembutsu/items/c277830c469d7a25ba15 詳しくは(略 またお前か!!
  48. 48. まとめ ● ● ● ●
  49. 49. 49 まとめ Docker技術情報アップデート 2015年7月号 ‣ 現状整理とDockerのツール群 Dockerを取り巻く状況が、DockerCon 2015 で更に加速。 ‣ Docker 1.7 で何が変わったのか? サードパーティ製プラグイン、ネットワーク、ボリューム管理、そしてオーケストレーション。 ‣ Dockerのオーケストレーション Docker Machine、Docker Swarm、Docker Compoes がバージョン v0.3.0 に。そして、それぞれの連携へ。 コンテナを試す時期から、どうやってプロダクションで使うかへ
  50. 50. 50 ‣ http://blog.docker.com • DockerCon 2015 Videos: Day 1 and Day 2 of Keynotes – http://blog.docker.com/2015/06/dockercon-2015-keynote-videos/ • Announcing Docker 1.7: Multi-host networking, plugins and orchestration updates – https://blog.docker.com/2015/06/announcing-docker-1-7-multi-host-networking-plugins-and- orchestration-updates/ • Extending Docker With Plugins – http://blog.docker.com/2015/06/extending-docker-with-plugins/ • Docker and Broad Industry Coalition Unite to Create Open Container Project – http://blog.docker.com/2015/06/open-container-project-foundation/ 参考情報 References

×