Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Docker 勉強会
- レベル0からの脱出 -
MASUMI YOSHIDA
対象者
 Dockerとやらをこれからまったくはじめて使うエンジニア
 エンジニアじゃないパソコンうまいひとでDockerを使う必要がある人
 デザイナー
 ディレクター
 その他チョットデキル人
 よくわからんけどイマドキっぽいの...
あなただれ
 しがないその辺にゴロゴロいるレベルのエンジニア
 新卒でSIerに入りインフラ系プロジェクトを経験するうちに
そっち方面の人へ
 AWSを使い始めてからは社内ではAWSおじさん
 AWS歴はもう2年半になってしまった…
...
Agenda
 Docker is 何
 仮想環境のあゆみ
 なぜDockerがいいのか なぜいまDockerなのか
 デメリットはちゃんとあるよ
 Dockerの構成要素とその周辺について
 ヘイシャでのDockerを使った開発
...
Docker is 何
 仮想環境構築ツール!
 「仮想マシン」ではなくて「コンテナ」
OS/ハイパーバイザ
<仮想サーバ>
OS(全部)
<仮想マシン>
OS(全部)
<仮想マシン>
アプリ
や
コンテンツ
アプリ
や
コンテンツ
OS
...
仮想環境のあゆみ
 (けっこう大昔)コンテナによる仮想環境の提供
 メインフレームはいまでいうスパコンみたいなやつ
 1台うん千万円とか平気でする
 (当時にしては)かなり高スペック
 みんなで使わないともったいない
 リソース領域...
仮想環境のあゆみ
 仮想マシンの勃興
 1972年にIBMがメインフレーム用にリリースしたSystem/370
 1998年ごろスタンフォード大学のMendel Rosenblum教授のグループがメイン
フレームで行っていた仮想化技術
...
仮想環境のあゆみ
 Dockerの発明とコンテナの復権
 2013年3月13日にDocker初リリース
 2015年ごろ日本のエンジニア界隈で騒がれ出す
 2016年は「Docker元年」としてエンジニアが盛り上がる
 利用の手軽さか...
なぜDockerがいいのか
なぜいまDockerなのか
 人のコンテナを使うだけならすぐ始められる
docker pull nginx
docker run -d -p 80:80 nginx
Webブラウザで localhost にアクセス
なぜDockerがいいのか
なぜいまDockerなのか
 Dockerfile や
compose.yml など
により移植性が高い
 サーバがソースコー
ドになりファイルと
して管理できる
 アプリケーションの
ソースコードと同様
にリ...
なぜDockerがいいのか
なぜいまDockerなのか
 周辺ツールが整って
きたので利便性が良い
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
https://www.slideshare.net/zembutsu/d...
なぜDockerがいいのか
なぜいまDockerなのか
 他の仮想環境に比べて軽くて早い
 OSの部分を自分でやらないから
 実務経験による体感値
 EC2を新たに起動:5分程度
 ECSにコンテナを新たに起動:数十秒
驚速のコンテナ...
デメリットはちゃんとあるよ
 MacだとWindowsServerやWindows10などを動かすことがで
きない
 カーネル(OSのコアの部分)をホストと共有するのでその点
に関するコツが必要だったりトラブルが起こったりする
 普通のサ...
Dockerと構成要素・周辺ツール
(初級編)
 Docker
 会社名でありブランド名でありアプリケーション
 コンテナを扱うのでコンテナを運ぶ船のイメージ
 エンジニアは動物化したがるイキモノなのでクジラのフレンズ
 かわいい
Dockerと構成要素・周辺ツール
(初級編)
 Dockerfile
 コンテナを作るためのレシピ
 コンテナ単位で書く
 本当はもっと長い
Dockerと構成要素・周辺ツール
(初級編)
 DockerHub
 公式コンテナイメージ共有サイト
 コンテナはリポジトリに登録して他の人と共有できる
 共有を限定したい場合は
 DokcerHubやQuay.ioにお金を払う
...
Dockerと構成要素・周辺ツール
(初級編)
 docker-compose
 いろんなコンテナを組み合わせて1つのWebサービスを立ち上げるための
ツールとレシピ
(参考)Docker Compose で CakePHP の開発環境を作...
MacなどのPC
Dockerと構成要素・周辺ツール
(初級編)
 docker-machine
 PC内に仮想マシンを
作ってその中に
コンテナを作る
Docker Machine
Oracle VirtualBox
Dokcerサーバ
...
ECS クラスター
ECSインスタンス
Dockerと構成要素・周辺ツール
(初級編)
 AWS ECS(EC2 Container Service)
 AWSが提供するDocker運用環境
 専用用語(システムの単位)
があるので覚える...
Dockerと構成要素・周辺ツール
(初級編)
 AWS ECR(EC2 Container Registry)
 AWSが提供するプライベートリポジトリ
 AWSユーザのみ利用可能
 AWSを利用して入ればDockerHubやQuai...
ヘイシャでのDockerを使った開発
 Docker for Mac か Docker Machine か
 基本的にDokccer Machineを使います!
 Docker を AWS で起動する方法
 Docker on EC2 ...
インストール方法 Docker for Mac
 https://docs.docker.com/docker-for-mac/install/
インストール方法 Docker Machine
 https://docs.docker.com/machine/install-machine/
おわりです
Appendix
コマンドとか具体的に
知りたいのですが…
 Dockerのすべてが5分でわかるまとめ!(コマンド一覧付き) - paiza開発日誌
http://paiza.hatenablog.com/entry/docker_intro
参考文献
 コンテナはクラウド進化の鍵--その歴史と「Docker」の隆盛
https://japan.zdnet.com/article/35063899/ @zdnet_japanさんから
 Dockerのメリット・デメリット http...
Upcoming SlideShare
Loading in …5
×

Docker study for beginner in My Company 2017/10/19

295 views

Published on

勤務先で行なったDocker勉強会のために作成したスライドです。
Dockerっていう名前以外何もわからないみたいな本当の初心者のみなさんに雰囲気を掴んでもらう目的で作成しました。

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Docker study for beginner in My Company 2017/10/19

  1. 1. Docker 勉強会 - レベル0からの脱出 - MASUMI YOSHIDA
  2. 2. 対象者  Dockerとやらをこれからまったくはじめて使うエンジニア  エンジニアじゃないパソコンうまいひとでDockerを使う必要がある人  デザイナー  ディレクター  その他チョットデキル人  よくわからんけどイマドキっぽいのでサワリだけでも知りたい人
  3. 3. あなただれ  しがないその辺にゴロゴロいるレベルのエンジニア  新卒でSIerに入りインフラ系プロジェクトを経験するうちに そっち方面の人へ  AWSを使い始めてからは社内ではAWSおじさん  AWS歴はもう2年半になってしまった…  本当はもっとプログラミングとかしたい系  将来はホームページとか作って売って楽しく暮らしたい
  4. 4. Agenda  Docker is 何  仮想環境のあゆみ  なぜDockerがいいのか なぜいまDockerなのか  デメリットはちゃんとあるよ  Dockerの構成要素とその周辺について  ヘイシャでのDockerを使った開発  インストール方法 Docker for Mac  インストール方法 Docker Machine
  5. 5. Docker is 何  仮想環境構築ツール!  「仮想マシン」ではなくて「コンテナ」 OS/ハイパーバイザ <仮想サーバ> OS(全部) <仮想マシン> OS(全部) <仮想マシン> アプリ や コンテンツ アプリ や コンテンツ OS <Dockerサーバ> OS(最低限) <Dockerコンテナ> OS(最低限) <Dockerコンテナ> アプリ や コンテンツ アプリ や コンテンツ
  6. 6. 仮想環境のあゆみ  (けっこう大昔)コンテナによる仮想環境の提供  メインフレームはいまでいうスパコンみたいなやつ  1台うん千万円とか平気でする  (当時にしては)かなり高スペック  みんなで使わないともったいない  リソース領域を分割しよう  コンテナの誕生 メインフレーム (うん千万円とか) 領 域 A 領 域 B 領 域 C 領 域 D
  7. 7. 仮想環境のあゆみ  仮想マシンの勃興  1972年にIBMがメインフレーム用にリリースしたSystem/370  1998年ごろスタンフォード大学のMendel Rosenblum教授のグループがメイン フレームで行っていた仮想化技術  1999年ごろ VMware社がLinux OSで仮想マシンを動かすVMware Workstation をリリース  2000年代はVMware社、Citrix社などによる仮想マシンシステムが大流行  Microsoft Hyper-V など大手が追従  2015年くらいまで 仮想マシン全盛期 猫も杓子も  Dockerがいきなり現れる OS/ハイパーバイザ <仮想サーバ> OS(全部) <仮想マシン> OS(全部) <仮想マシン> アプリ や コンテンツ アプリ や コンテンツ
  8. 8. 仮想環境のあゆみ  Dockerの発明とコンテナの復権  2013年3月13日にDocker初リリース  2015年ごろ日本のエンジニア界隈で騒がれ出す  2016年は「Docker元年」としてエンジニアが盛り上がる  利用の手軽さから開発環境は仮想マシンからDockerコンテナに一気に置き換わる  本番でも使われ出す(有名どころだとWantedlyさんとか)  https://www.wantedly.com/companies/wantedly/post_articles/27548  2017年現在 Dockerは開発環境のデファクトスタンダードへ(本番利用も増)  ヘイシャもついに本番環境へDocker(Amazon ECS)を投入!
  9. 9. なぜDockerがいいのか なぜいまDockerなのか  人のコンテナを使うだけならすぐ始められる docker pull nginx docker run -d -p 80:80 nginx Webブラウザで localhost にアクセス
  10. 10. なぜDockerがいいのか なぜいまDockerなのか  Dockerfile や compose.yml など により移植性が高い  サーバがソースコー ドになりファイルと して管理できる  アプリケーションの ソースコードと同様 にリポジトリで変更 管理ができる Dockerfileの例 (Nginx公式) https://github.com/nginxinc/docker- nginx/blob/1d2e2ccae2f6e478f628f4091d 8a5c36a122a157/mainline/stretch/Dockerf ile docker-composeの例 (Zabbix 3.0) https://qiita.com/zembutsu/items/686b99be90d72688 aee8
  11. 11. なぜDockerがいいのか なぜいまDockerなのか  周辺ツールが整って きたので利便性が良い Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~ https://www.slideshare.net/zembutsu/docker-expectations-and-reality
  12. 12. なぜDockerがいいのか なぜいまDockerなのか  他の仮想環境に比べて軽くて早い  OSの部分を自分でやらないから  実務経験による体感値  EC2を新たに起動:5分程度  ECSにコンテナを新たに起動:数十秒 驚速のコンテナ起動!GKEでのPod生成時間計測結果発表 http://www.apps-gcp.com/gke-pod-creation-time/ #apps_gcp #gcpja #gcpug
  13. 13. デメリットはちゃんとあるよ  MacだとWindowsServerやWindows10などを動かすことがで きない  カーネル(OSのコアの部分)をホストと共有するのでその点 に関するコツが必要だったりトラブルが起こったりする  普通のサーバに加えて覚えることが多くなり初学者には苦し いかもしれない  いままでの仮想サーバと考え方が変わるのでシステム運用の 考え方や手順も変わる
  14. 14. Dockerと構成要素・周辺ツール (初級編)  Docker  会社名でありブランド名でありアプリケーション  コンテナを扱うのでコンテナを運ぶ船のイメージ  エンジニアは動物化したがるイキモノなのでクジラのフレンズ  かわいい
  15. 15. Dockerと構成要素・周辺ツール (初級編)  Dockerfile  コンテナを作るためのレシピ  コンテナ単位で書く  本当はもっと長い
  16. 16. Dockerと構成要素・周辺ツール (初級編)  DockerHub  公式コンテナイメージ共有サイト  コンテナはリポジトリに登録して他の人と共有できる  共有を限定したい場合は  DokcerHubやQuay.ioにお金を払う  自分でリポジトリサーバを運用する
  17. 17. Dockerと構成要素・周辺ツール (初級編)  docker-compose  いろんなコンテナを組み合わせて1つのWebサービスを立ち上げるための ツールとレシピ (参考)Docker Compose で CakePHP の開発環境を作る - 座敷牢日誌 http://zashikiro.hateblo.jp/entry/2016/08/15/224612
  18. 18. MacなどのPC Dockerと構成要素・周辺ツール (初級編)  docker-machine  PC内に仮想マシンを 作ってその中に コンテナを作る Docker Machine Oracle VirtualBox Dokcerサーバ (Linux) Dokcerサーバ (Linux) Docker for (Mac|Win) コン テナ コン テナ コン テナ コン テナ コン テナ コン テナ コン テナ コン テナ コン テナ
  19. 19. ECS クラスター ECSインスタンス Dockerと構成要素・周辺ツール (初級編)  AWS ECS(EC2 Container Service)  AWSが提供するDocker運用環境  専用用語(システムの単位) があるので覚える必要あり  クラスター  サービス  ECSインスタンス  タスク定義  タスク ECSインスタンス ECS サービス ECS タスク定義 ECS タスク ECS タスク定義 ECS タスク ECS タスク ECS タスク
  20. 20. Dockerと構成要素・周辺ツール (初級編)  AWS ECR(EC2 Container Registry)  AWSが提供するプライベートリポジトリ  AWSユーザのみ利用可能  AWSを利用して入ればDockerHubやQuai.io などを利用しなくてもこちらを 利用することで代替となる  初期費用なし  データ転送量と保存容量で課金  月額500MBまでは保存容量無料  ECRのアイコン
  21. 21. ヘイシャでのDockerを使った開発  Docker for Mac か Docker Machine か  基本的にDokccer Machineを使います!  Docker を AWS で起動する方法  Docker on EC2 と ECSがありますが基本後者!  ECSとCircleCIを連携させた自動的なリリースでのDockerを使った開発  Gihthubの所定のブランチにソースコードをマージ  CircleCIが発動  Dockerイメージを作ってECRにプッシュ  ECRにプッシュしたイメージをpullしてECSにコンテナを起動
  22. 22. インストール方法 Docker for Mac  https://docs.docker.com/docker-for-mac/install/
  23. 23. インストール方法 Docker Machine  https://docs.docker.com/machine/install-machine/
  24. 24. おわりです
  25. 25. Appendix
  26. 26. コマンドとか具体的に 知りたいのですが…  Dockerのすべてが5分でわかるまとめ!(コマンド一覧付き) - paiza開発日誌 http://paiza.hatenablog.com/entry/docker_intro
  27. 27. 参考文献  コンテナはクラウド進化の鍵--その歴史と「Docker」の隆盛 https://japan.zdnet.com/article/35063899/ @zdnet_japanさんから  Dockerのメリット・デメリット http://docker.yuichi.com/about/strength/index.html  Docker を Production で使い続ける理由 | Wantedly Engineer Blog by @koudaiii https://www.wantedly.com/companies/wantedly/post_articles/27548  Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~ https://www.slideshare.net/zembutsu/docker-expectations-and-reality  docker-nginx/Dockerfile at 1d2e2ccae2f6e478f628f4091d8a5c36a122a157 · nginxinc/docker- nginx https://github.com/nginxinc/docker- nginx/blob/1d2e2ccae2f6e478f628f4091d8a5c36a122a157/mainline/stretch/Dockerfile  Zabbix 3.0をDocker Composeで一度に実行する方法 - Qiita https://qiita.com/zembutsu/items/686b99be90d72688aee8  Dockerのすべてが5分でわかるまとめ!(コマンド一覧付き) - paiza開発日誌 http://paiza.hatenablog.com/entry/docker_intro  驚速のコンテナ起動!GKEでのPod生成時間計測結果発表 http://www.apps-gcp.com/gke-pod- creation-time/ #apps_gcp #gcpja #gcpug

×