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 Machineを使ってみよう

4,143 views

Published on

この資料は、 2016年1月22日に行われた。さくらインターネット主催の『Docker Machine/Compose/swarm』を使ってみよう」(東京)で使われた資料です。主にDocker Machineの簡単な使い方の説明をしております。

Published in: Technology
  • Be the first to comment

Docker Machineを使ってみよう

  1. 1. (C)Copyright 1996-2014 SAKURA Internet Inc. さくらインターネット 横田真俊(@wslash) 2016/01/22
  2. 2. 2 氏名 横田真俊(@Wslash) 「さくらのクラウド」の企画担当を やっております 年に50回程度の講演・ハンズオンを 行っております 左のアイコンで、ツイッターを やっていますのでお気軽に お声がけください
  3. 3. 3 Amazon EC2/S3 入門 今は、さくらのクラウド企画担当 をやっていますが、昔はこんな本 を書いていました
  4. 4. 4 ツイッターやFacebookなど ソーシャルメディアの本 を5冊ほど書いてます
  5. 5. 「DockerとDocker Machineをインス トールして利用ができるようになる」 のが目標 5
  6. 6. 6 Dockerの特徴を再復習すると同時に、とりあえず動かして みます。 Docker Machineのインストールと、動かし方をデモで紹介 します 2万円分の無償クーポンを配布します。無料で本日の復習が 可能です
  7. 7. (C)Copyright 1996-2014 SAKURA Internet Inc.
  8. 8. 8 ホストOSの上で「仮想化ソフト」を動かすタイプ ホストOSとアプリを共存できるのでPCからの個人利用の形 で多いが、ホストの負荷が大きい ホスト形仮想化ソフト (VirtualBOXなど) OS (1) OS(2) OS(3) アプリ アプリ アプリ ホストOS(Windows/Linuxなど) アプリ
  9. 9. 9 ホストOSの代わりに「ハイパーバイザー」が仮想サーバを 制御する。ホストサーバ全体を仮想化で利用するため、ホス トOSを経由しないためホストOS型よりレスポンスが良い ハイパーバイザー (VMWareなど) OS (1) OS(2) OS(3) アプリ アプリ アプリ
  10. 10. 10 OSの代わりに各コンテナがアプリを稼動させます。今まで より一番ホストマシンの処理負荷が低い コンテナ管理ソフトウェア (Dockerなど) コンテナ(1) コンテナ(2) コンテナ(3) アプリ アプリ アプリ ホストOS(Linux) アプリ
  11. 11. • 処理速度が速い → OSやハードウェアを仮想化していないためオーバーヘッド が少なく処理能力が早い • メモリやディスクの消費量をおさえられる → それぞれにカーネルを持たないためメモリ/ディスクの 消費量をおさえられる。 • ポータビリティ → 環境を意識せず使える 11
  12. 12. 12 何がうれしいのか?
  13. 13. ■検証・使い捨て環境がすぐに使える → 「低コスト」かつ「コマンド1発」で利用できる。 ■環境の統一化 → 開発・運用・ステージングと色々な「環境」を用意せずに コンテナに統一できる。 ■クラウド時代のバズワードが手軽に実現 → イミュータブル、オートスケーリング etc… 13
  14. 14. (C)Copyright 1996-2014 SAKURA Internet Inc.
  15. 15. 15 今回はCentOS 6系でインストールします 今日の資料は別途、公開いたします 2万円クーポンを配るのでそれで復習できます
  16. 16. 16 「yum install docker-io」とコマンドを入れるとDockerのインストールが はじまります。色々と聞かれますが、とりあえず「y」を入力してください。 yum install docker-io
  17. 17. 17 「service docker start」とコマンドを入れるとDockerが動きます service docker start
  18. 18. 18 「docker version」と入力してDockerのバージョンが表示されれば、 Dockerが正常にインストールされています。 docker version
  19. 19. 19 コンテナを起動する「docker run」
  20. 20. ■docker run コマンド → 指定したイメージのコンテナを起動する ■構文 → docker run イメージ [オプション][コマンド][引数] ■オプション → -d バックグランドで実行 → -i コンテナの標準入力を開く → -t ttyを確保する → -p ポートフォワード 20
  21. 21. 21 ちゃんとDockerが動くか「hello world」を動かしてみたいと思います。 上記のコマンドを入力してください。 docker run hello-world
  22. 22. 22 「hello world」の入力が終わると「docker run –it ubuntu bash」を試し てみろ、と言われているので、これを入力してみましょう。
  23. 23. 23 これだけではつまらないので アプリを入れてみましょう
  24. 24. 24 「Ghost」は最近、人気が出ているNode.js製の軽量ブログエンジンです。 今回はDockerを利用して、コマンド1発でインストールします。
  25. 25. • Node.jsとnpm • ApacheとかのWebサーバ • SQLite、MySQLなどのデータベース 25 「Ghost」をインストールして利用するには上記のような物を色々とインス トールする必要があり面倒です。
  26. 26. 26 Ghostを80番ポートで利用できるようにします。元々Ghostは2368番ポート で動いているので80番ポートとマッピングさせます。 docker run -p 80:2368 -d ghost
  27. 27. 27 インストールが終わったら「(IPアドレス)」をブラウザで入力してください。 上記のような「画面」が表示されます。
  28. 28. 28 Docker Machine
  29. 29. VirtualBox 29 Docker社が出しているプロビジョニングツール。これを利用すると自分の PC環境からDockerをインストールしたサーバが作れます。 自分のPC クラウド事業者 A クラウド事業者 B Docker Machine
  30. 30. 30 Docker環境が入ったサーバを簡単に構築できる Virtualboxや複数のクラウド事業者でも利用できる 複数の環境を一括で管理できる
  31. 31. 31  Amazon Web Services  Microsoft Azure  Digital Ocean  Exoscale  Google Compute Engine  Generic  Microsoft Hyper-V  OpenStack  Rackspace  IBM Softlayer  Oracle VirtualBox  VMware vCloud Air  VMware Fusion  VMware vSphere
  32. 32. あれ? 32
  33. 33. 「さくらのクラウド」が無い! 33
  34. 34. 34 有志の方(@yamamoto_febc)さんが作成された「さくらのクラウド」用 Docker Machineプラグイン。
  35. 35. 35 利用方法の詳細は、こちらのQiita記事が詳しいです http://qiita.com/yamamoto-febc/items/4aff7472fc1ea025db0a
  36. 36. 36 Docker Machine SAKURA CLOUD Driverのインストール方法
  37. 37. 37 Docker Toolboxをインストールします。 https://www.docker.com/docker-toolbox
  38. 38. Docker Client Docker Machine Docker Compose Docker Kitematic VirtualBox 38 Docker Toolboxを利用すると上記のソフトがインストールされます。 ただし、Windowsの場合32ビットだと動きません
  39. 39. 39 Windowsの場合、ドライバのインストーラーがあるので「v0.0.7」をイン ストールする。 https://github.com/yamamoto-febc/docker-machine-sakuracloud/releases/download/v0.0.7/DockerMachineSakuracloudSetup.exe
  40. 40. 40 コマンドプロンプトから「docker-machine -v」を叩くとDocker-machine のバージョンが表示される。バージョンが表示されれば「 Docker- machine 」はインストールされている。 docker-machine -v
  41. 41. 41 「docker-machine create -d sakuracloud -h」を入力して、さくらのクラ ウド用のコマンドが出てきたら無事にインストールされている。 docker-machine create -d sakuracloud -h
  42. 42. 42 「さくらのクラウド」の APIキーを取得する
  43. 43. 43 「さくらのクラウド」の画面からAPIキーを追加し、「ACCESS TOKEN」と 「ACCESS TOKEN SECRET」の内容を控えておく。
  44. 44. ■ docker-machine createコマンド → docker-machine経由でDockerが入ったDockerホストを作成する。 → docker-machine create –d[ドライバ名] で作成先を指定する ■ 「さくらのクラウド」で作成する場合 docker-machine create -d sakuracloud ¥ --sakuracloud-access-token=[ACCESS TOKEN] ¥ --sakuracloud-access-token-secret=[ACCESS TOKEN SECRET] ¥ [ホスト名] → これでローカルから「さくらのクラウド」にDockerホストが作成できる 44
  45. 45. 45 docker-machine ssh [マシン名] docker-machineで作成されたホストはSSHで接続できません、 「docker-machine ssh [ホスト名]」で接続できます。
  46. 46. 46 docker-machine ls 「docker-machine ls」を入力すると、Docker-machineで作られたサーバ 一覧が表示されます。
  47. 47. 47 docker-machine stop [マシン名] docker-machineコマンドで開始・停止・再起動ができます。 docker-machine start [マシン名] docker-machine restart [マシン名]
  48. 48. 48 eval “$(docker-machine env [マシン名])" eval “$(docker-machine env [マシン名])”で、[マシン名]をactiveにする
  49. 49. 49 docker-machine rm [マシン名] 「docker-machine rm」で作成したDockerホストを削除できます。
  50. 50. • Docker-machineを利用すると、ローカル複数 のクラウド環境にDockerが利用できて便利! 50
  51. 51. ご静聴ありがとうございました。 51

×