Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

いまからでも遅くない Docker事始め&愉快な仲間達

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 70 Anzeige

いまからでも遅くない Docker事始め&愉快な仲間達

Herunterladen, um offline zu lesen

Dockerの基盤としてSoftLayerのベアメタルは最適です。ここでは、Dockerのみならず、周辺のオーケストレーション・ツールを交えた利用シーンや使いどころをご紹介します。

Dockerの基盤としてSoftLayerのベアメタルは最適です。ここでは、Dockerのみならず、周辺のオーケストレーション・ツールを交えた利用シーンや使いどころをご紹介します。

Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Andere mochten auch (20)

Anzeige

Ähnlich wie いまからでも遅くない Docker事始め&愉快な仲間達 (20)

Weitere von softlayerjp (20)

Anzeige

Aktuellste (20)

いまからでも遅くない Docker事始め&愉快な仲間達

  1. 1. Dockerと愉快な仲間たち SoftLaye r と Blu e mix 利用者の ための Do cke r 入門 SoftLayer Bluemix Summit 2015 #slbm15 2015年9月2日(水) @zembutsu 背景画像CREDIT:スフィア / PIXTA(ピクスタ) https://pixta.jp/@sphere
  2. 2. 2 今日の内容 DockerとSoftLayerとBluemixと ‣ Dockerの考え方と概要 なぜ「Docker」や「コンテナ」なのか? これまでと何が違うのか? ‣ Docker on BlueMix Bluemix を使って、どのようなことが出来るのか。単純な Docker とは何が違うのか? ‣ Docker on SoftLayer Bluemix との違い。SoftLayer を活用した Docker の使い方。
  3. 3. 3 今日のまとめ1 今日から始めるDocker ‣ Dockerの考え方と概要 速さと利便性 Docker はコンテナではなくプラットフォーム 既存システムと対立するものではなく、価値を生み出すもの ‣ 既存システムとの共存 Bluemix は Docker 互換の IBM Containers SoftLayer は Docker 環境を便利に活用できる
  4. 4. 4 今日のまとめ2 今日から始めるDocker ‣ Dockerありきで考えると全てが破綻する 何のために導入するのか? 既存システムとは対立するものではない ‣ 現実的な課題 多くの場合、業務フローの変更を伴うことが予想される Docker イメージ管理 ( DockerHub, DTR, Private Registry ) 運用(監視、性能評価、セキュリティ、ネットワーク)
  5. 5. 5 自己紹介 ‣ @zembutsu a.k.a. 前佛雅人 - 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
  6. 6. ┌──────────────────────┐ │ドッカースウォームが あらわれた! │ │ドッカーコンポーズが あらわれた! │ │コマンド? │ │ ∨ │ └━━━━━━━━━━━━━━━━━━━━━━┘ ┌────┐ │ていじで │ │かえろう │ └━━━━┘ ┌──────コマンド─────┐ │ たたかう じゅもん │ │ にげる げんじつとうひ │ └━━━━━━━━━━━━━━━┘ >
  7. 7. 素材画像CREDIT:hanako / PIXTA(ピクスタ) https://pixta.jp/illustration/14575501
  8. 8. TMTOWTDI There’s More Than One Way To Do It
  9. 9. はじめに:Dockerの考え方と概要 1■□□ Introduction – why docker? S o f t L a y e r と B l u e m i x 利 用 者 の た め の D o c k e r 入 門
  10. 10. VS 仮想化システム 構成管理ツール クラウド環境
  11. 11. システム基盤の変遷と課題
  12. 12. 物理時代 仮想化・クラウド時代 コンテナ時代 機 材 発 注 機 材 納 品 設 置 機 器 設 定 事 前 設 計 ク リ ッ ク 見 積 も り O S 設 定 環 境 構 築 試 験 利 用 開 始 試 験 開 発 試 験 運 用 利 用 開 始 … … 事 前 設 計 ク リ ッ ク 試 験 利 用 開 始 … 事 前 設 計 ク リ ッ ク 試 験 利 用 開 始 … 開 発 段 階 検 証 段 階 本 番 段 階 すべてを迅速に、一貫した環境で行いやすい← New
  13. 13. 社外開発環境 本番環境ステージング環境 社内共有開発環境 個人開発環境 社内テスト環境 社外開発環境 本番環境ステージング環境 CI/CD Docker レジストリ Docker動作環境(docker machine)
  14. 14. 18SoftLayer と Bluemix 利用者のための Docker 入門 発生する課題 ‣ 環境の差異による動く・動かない、及び検証コスト 開発・テスト環境・本番環境におけるライブラリやコマンドの有無、バージョンの差違、環境依存問題 ‣ 構築済みの環境を、拡大・縮小しづらい アプリケーションの動作環境と、システム基盤の管理を別々のチームや部署が行っている場合 ‣ 複雑化する管理 各チームや部署が統一性の無い"セルフ標準"を持っているため、作業標準化の壁
  15. 15. 19SoftLayer と Bluemix 利用者のための Docker 入門 ‣ 「コンテナ化」と総称される技術 LXC, FreeBSD jail, Solaris Containers, OpenVZ, Linux VServer • LXC は Linux kernel 2.6.29 ~ 取り込まれる ( cgroups 関連 ) • 2014年2月20日 LXC 1.0 のリリース ‣ 標準化するという新しい選択肢 • Linux では前から利用可能であったが、設定が煩雑・面倒 Docker は Linux の kernel 機能を使って アプリケーションを Docker 化 ( Docker イメージ化して対応 ) 対策はあるのだろうか?
  16. 16. 引用 Docker 0.9: introducing execution drivers and libcontainer | Docker Blog https://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/
  17. 17. 引用:What is Docker? https://www.docker.com/whatisdocker
  18. 18. 22SoftLayer と Bluemix 利用者のための Docker 入門 ‣ コンテナとは、ホストOS上のKernel機能を使い 複数のルート・ファイルシステムを実行できる。 各々の root ファイルシステムの事を「コンテナ」( container ) と呼称する。 これ何て chroot?と言われる所以。 ‣ 各々のコンテナは各々のリソースを持つ プロセス(計算資源) メモリ デバイス ネットワーク Dockerとコンテナ
  19. 19. 23SoftLayer と Bluemix 利用者のための Docker 入門 ‣ 操作の分かりやすさ、使いやすさ LXC を直接管理するよりも、Dockerクライアントからの操作性が、コンテナ管理の煩雑さを隠蔽 ‣ 速さ 環境構築・再現・操作性 ‣ 環境の再現性 Docker イメージまたは Dockerfile を使うことで、同じ環境を再現できる ‣ 可搬性 ( portability ) Docker イメージは再利用可能・移動可能、共通カーネルであれば動作上の障壁が少ない Dockerは何を実現してくれるのか?
  20. 20. 24SoftLayer と Bluemix 利用者のための Docker 入門 ‣ 開発者はコードを書くだけでは無い Docker イメージの管理や、コンテナ間の連携についても配慮が必要になる ‣ 既存の運用フローを変更する可能性 そもそも、そのフローは適切だったのか? ‣ 管理をどうするのか、どうすべきか 仮想サーバやクラウド環境以上に、コンテナを扱うことで指数関数的に管理対象が増加するので、 運用上の正常性評価や、セキュリティ上の課題(そもそも何がセキュリティなのか)の再検討が必要な場合がある 一方で新しい課題が出るのも事実
  21. 21. Dokcerの概念と基本用語
  22. 22. 26SoftLayer と Bluemix 利用者のための Docker 入門 ‣ Docker とは コンテナ技術を使い、アプリケーション開発・運搬・実行を行う ための、プラットフォームである。 ‣ プラットフォームの構成要素 • Docker Engine • Docker Hub • Docker Trusted Registry • Kitematic 基本用語 • Docker Machine • Docker Swarm • Docker Compose • Docker Toolbox • Docker Content Trust
  23. 23. 27 ‣ Docker Engine • Dockerの中核となるプログラム • コンテナの制御 ‣ クライアント・サーバ型 • “docker” デーモン • “docker” コマンドライン・ツール
  24. 24. 28 dockerクライアントの基本コマンド docker run コンテナ実行 docker stop コンテナ停止 docker commit コンテナイメージ化 docker pull イメージの取得 docker build イメージの自動構築 docker attach コンテナにアタッチ docker logs 標準出力の表示 docker inspect 詳細情報の表示 docker rm イメージ削除 docker images イメージ一覧表示 diff | history 差分・履歴表示
  25. 25. DockerHub (公開レジストリ) https://hub.docker.com/ レポジトリの「イメージ」を共有するシステム 様々なアプリケーションやミドルウェアのレポジトリ
  26. 26. docker daemon ( server ) docker ( client) docker run <image> Docker Hub Docker Trusted Registry Docker Registry docker pull
  27. 27. レジストリ 説明 イメージ 管理 GUI 認証 リソース 表示 ログ TLS サポート 対象OS 料金 Docker Hub インターネットから 誰もが利用可能 ○ ○ ○ × × ○ △ 5 private repo $7/月~ Docker Registry 自分で専用の レジストリを準備 ○ × × × × △ × - Docker Trusted Registry 自分で専用の レジストリを準備。 ○ ○ ユーザ認証 LDAP認証 ○ ○ ○ ○ RHEL 7.0, 7.1 Ubuntu 14.04 LTS 1 Registry, 10 Engine $150/月~
  28. 28. kernel ベース・イメージ (CentOS) ベース・イメージ (Ubuntu) 変更内容 A 変更内容 B 変更内容 C 書き込み可能領域 書き込み可能領域
  29. 29. 33SoftLayer と Bluemix 利用者のための Docker 入門 ‣ 利点 開発者にとっての効率の良さ すぐに利用できる点と、バージョン・コントロール、CI/CDの自動化。 アプリケーションのポータビリティ 開発をはじめ、テストやリリースに至るまで、コンテナを通して一環したインフラ環境を利用できる。 ‣ ポイント Dockerそのものが何かするのではない(仮想化・クラウドと同じ) – Dockerは、あくまでも、利用者の利便性を向上する道具 (プラットフォームの役割) Docker Engine はインフラを抽象化--developer’s efficiency and application portability
  30. 30. 34SoftLayer と Bluemix 利用者のための Docker 入門 ‣ 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
  31. 31. $ docker-machine create ¥ --driver softlayer ¥ --softlayer-user ######## ¥ --softlayer-api-key ####### ¥ --softlayer-domain docker.jp ¥ --softlayer-region tok02 ¥ sl1 $ docker-machine ssh sl1
  32. 32. 38SoftLayer と Bluemix 利用者のための Docker 入門 Docker Swarm ‣ Docker クラスタ管理ツール Docker ホストの集まりを作成したり、アクセスできるようにするツールで、API を持つ ‣ コマンドラインで操作 docker-machine で環境を作り、docker run swarm create ‣ クラスタ形成 ディスカバリ(マネージャへの登録に、consul や etcd にも対応) フィルタ(コンテナを配置する条件の設定は、Docker を抽象化) ストラテジ(どこのノードにコンテナを自動配置するか方針設定)
  33. 33. VM Docker Swarm Manager Dokku, Docker Compose, Krane, Jenkins, Apache Mesos … VM Docker VM Docker VM Docker … コンテナ コンテナ コンテナ コンテナ
  34. 34. 40SoftLayer と Bluemix 利用者のための Docker 入門 Docker Compose ‣ 複数コンテナのアプリケーション自動設定 Dockerfile を複数のコンテナに拡張したようなイメージ ‣ コマンドラインで操作 docker-compose docker-compose.yml ‣ Linux, Windows, Mac OS X に対応 ‣ 構成情報を YAML 形式のファイルで定義
  35. 35. 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
  36. 36. TMTOWTDI There’s More Than One Way To Do It
  37. 37. VS 仮想化システム 構成管理ツール クラウド環境
  38. 38. 背景画像CREDIT:rvika/ PIXTA(ピクスタ) https://pixta.jp/@prof261092
  39. 39. 背景画像CREDIT:rvika/ PIXTA(ピクスタ) https://pixta.jp/@prof261092 1. 今すぐ始めなくてはいけない 2. すべての環境をコンテナにしなくてはいけない 3. 仮想化システムは不要になる 4. 構成管理ツール(Chef,Puppet,Ansible等)は不要になる 5. クラウド環境は不要になる 6. Dockerやコンテナが全てを解決してくれる 7. Dockerは難しい 8. 本番環境では使えない 9. セキュリティや信頼性に問題がある 10. Dockerは冗長化できない
  40. 40. 背景画像CREDIT:rvika/ PIXTA(ピクスタ) https://pixta.jp/@prof261092 11. ネットワークが貧弱だ 12. よく落ちる 13. 商用サポートを受けられない 14. Docker ではなく CoreOS を使うべきだ 15. データの可用性が貧弱 16. Docker があればコスト削減できる 17. Docker は kubernetes がないと意味が無い 18. Docker やコンテナを使うとベンダーロックインされる 19. Docker であれば業務効率化できる 20. そもそも、Docker を使う意味が無い
  41. 41. 47 dockerクライアントの基本コマンド docker run コンテナ実行 docker stop コンテナ停止 docker commit コンテナイメージ化 docker pull イメージの取得 docker build イメージの自動構築 docker attach コンテナにアタッチ docker logs 標準出力の表示 docker inspect 詳細情報の表示 docker rm イメージ削除 docker images イメージ一覧表示 diff | history 差分・履歴表示
  42. 42. Application Development for IBM Connections with IBM Bluemix http://www.slideshare.net/niklasheidloff/application-development-for-ibm-connections-with-ibm-bluemix-41052648/9
  43. 43. Docker on Bluemix 2■■□
  44. 44. 50SoftLayer と Bluemix 利用者のための Docker 入門 IBM Containers ‣ Dockerコンテナを元に独自拡張 • 2014年12月4日 beta発表→2015年6月正式版として提供 ‣ 機能と特徴 • コンテナを直接使うことができる(インフラの管理が不要) • コンテナはパブリックとプライベートなネットワークを利用できる • プライベートな Docker レジストリ • そのほかの Bluemix のサービスとの統合 • Docker を元にした API やコマンド・ラインツール、互換性
  45. 45. docker daemon ( server ) docker ( client) docker run <image> Docker Hub Docker Trusted Registry Docker Registry docker pull
  46. 46. IBM containers ( Bluemix endpoint ) "docker" or "cf ic" ( client) docker run <image> Private Registry registry.ng.bluemix.net docker pull Bluemix GUI docker push cf login cf ic login Bluemix 監視 Bluemix認証
  47. 47. 55SoftLayer と Bluemix 利用者のための Docker 入門 ローカル環境との違い ‣ Bluemixの認証が必要 • cf login • cf ic login ‣ プライベート・レポジトリが利用可能 • docker build で構築したイメージは、そのままリモートに保存 • docker push も利用可能 • 例:registry.ng.bluemix.net/zembutsu
  48. 48. export DOCKER_HOST=tcp://containers-api.ng.bluemix.net:8443 export DOCKER_CERT_PATH=/zembutsu/.ice/certs export DOCKER_TLS_VERIFY=1 # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fd3574fd-204 registry.ng.bluemix.net/zembutsu/bluemixapp1:0.1 "bash " 22 seconds ago Running 14 seconds ago sharp_engelbart 14ef7bc3-478 registry.ng.bluemix.net/zembutsu/bluemixapp1:0.1 "bash " About a minute ago Running 57 seconds ago modest_brown $ cf ic run registry.ng.bluemix.net/zembutsu/bluemixapp1:0.1 fd3574fd-2049-49d2-9b10-c6d585bcf098
  49. 49. 57SoftLayer と Bluemix 利用者のための Docker 入門 現時点の課題 ‣ リージョンが2箇所 • 米国:ダラス(テキサス州) • 英国:ロンドン ‣ まだ機能統合の途中 • Docker 1.6 相当、docker クライアントと cf クライアントの互換性 ‣ ドキュメントが一部英語
  50. 50. Docker on SoftLayer 3■■□
  51. 51. 59SoftLayer と Bluemix 利用者のための Docker 入門 SoftLayer で Docker ‣ SoftLayer の環境を有効活用できる • プライベート・ネットワーク • 世界中とつながるバックボーン • ベアメタル環境 ‣ Docker 実行環境は自分で用意する必要 そのかわり、自由な構成ができる • 例:パブリック側からアクセスができない Docker デーモン • 例:パブリック側からアクセスできないレジストリ
  52. 52. 60SoftLayer と Bluemix 利用者のための Docker 入門 ‣ 基本的に自由 Ubuntu 14.04 LTS が扱いやすい ‣ パッケージ版はバージョンが違うので注意 Ubuntu, Debian, CentOS, RHEL, Fedora どの環境を使うべき? apt-get install curl curl -sSL https://get.docker.com/ | sh
  53. 53. 61SoftLayer と Bluemix 利用者のための Docker 入門 ‣ Docker 実行環境をコマンドラインで構築 • 新しいホスト環境を作成し、docker も自動インストール • IP アドレスやログイン情報を把握しなくても、リモート SSH 可能 • 作業が終わったら、コマンドで削除可能 ‣ プライベート・レジストリの活用 • Docker イメージの保管場所をローカルにも持てる • Object Storage 上へデータを保管する指定も可能 Docker Machine
  54. 54. $ docker-machine create ¥ --driver softlayer ¥ --softlayer-user ######## ¥ --softlayer-api-key ####### ¥ --softlayer-domain docker.jp ¥ --softlayer-region tok02 ¥ sl1 $ docker-machine ssh sl1
  55. 55. 63SoftLayer と Bluemix 利用者のための Docker 入門 ‣ Docker Swarm • コンテナのクラスタ管理 ‣ Docker Compose • 複数のコンテナ間連携を docker-compose.yml で定義 Dockerの他のツールとの連携
  56. 56. 今日のまとめ Wrap up
  57. 57. 65 今日のまとめ1 今日から始めるDocker ‣ Dockerの考え方と概要 速さと利便性 Docker はコンテナではなくプラットフォーム 既存システムと対立するものではなく、価値を生み出すもの ‣ 既存システムとの共存 Bluemix は Docker 互換の IBM Containers SoftLayer は Docker 環境を便利に活用できる
  58. 58. 66 今日のまとめ2 今日から始めるDocker ‣ Dockerありきで考えると全てが破綻する 何のために導入するのか? 既存システムとは対立するものではない ‣ 現実的な課題はあるが "皆さん" と乗り越えたい 多くの場合、業務フローの変更を伴うことが予想される Docker イメージ管理 ( DockerHub, DTR, Private Registry ) 運用(監視、性能評価、セキュリティ、ネットワーク)
  59. 59. TMTOWTDI There’s More Than One Way To Do It
  60. 60. 68 何か気になることはありますか?
  61. 61. 69 ‣ Docker ドキュメント http://docs.docker.com/ ‣ Docker ドキュメントの日本語訳(仮) http://qiita.com/zembutsu/items/444396b76e0db2c04c2b (まとめて、どっかに整理するつもりです。) 参考情報

×