Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「はじめて触るDocker入門」

 「はじめて触るDocker入門」

Gunma.web #26 の講演資料です。
各種コマンドについての補足資料は下記URLをご覧下さい。
http://qiita.com/Wslash/items/941697bf0fcd3213e7dd

横田真俊(wslash)

January 20, 2017
Tweet

More Decks by 横田真俊(wslash)

Other Decks in Technology

Transcript

  1. 商 号 さくらインターネット株式会社 本 社 所 在 地 大阪市中央区南本町一丁目8番14号 設

    立 年 月 日 1999年8月17日 (サービス開始は1996年12月23日) 上 場 年 月 日 2005年10月12日(マザーズ) 2015年11月27日(東証一部へ市場変更) 資 本 金 8億9,530万円 従 業 員 数 361名(連結) (※2016年6月末日現在) 会社プロフィール 会社概要 インターネットインフラの提供を事業ドメインとして、 大阪、東京、北海道の3都市に5つのデータセンターを展開 1996年12月に現社長の田中邦裕が、 舞鶴高専在学中に学内ベンチャーとして創業。 1999年8月に株式会社を設立。10月には、第1号 となるデータセンターを大阪市中央区に開設。 2005年10月に東京証券取引所 マザーズ市場に上場。 2011年11月、北海道石狩市に国内最大級の 郊外型大規模データセンターを開設。 石狩データセンター開設 2011 東証マザーズ上場 2005 1996 1999 ・株式会社を設立 2015年11月に東京証券取引所 市場第一部に市場変更。 東証一部に市場変更 2015 さくらインターネット創業 ・最初のデータセンター開設 5
  2. 11

  3. 2017/1/21 (C) Copyright 1996-2017 SAKURA Internet Inc 14 さくらインターネット 世の中の

    IoT プラットフォーム 企画・アイディア モノ(製造) センサー データの送信手段 安全な通信経路 プラットフォーム (基本機能) 管理UI 連携API 「データを迎えに行く」という発想 モノに組み込めば、電源を入れるだけで利用可能 接続知識や現地の有線/無線LAN環境も不要 さくらのIoT Platform の特徴
  4. 2017/1/21 (C) Copyright 1996-2017 SAKURA Internet Inc 15 単体方式:SCM-LTE-beta 定価

    9,960 円 100万回プラットフォームとデータ送受信可能な ポイント※付き RP=RelationPoint さくらのIoTプラットフォーム利用時に消費されるポイント 1分間に1つデータ(RM)をプラットフォームとやり取りすると 約2年間利用することが可能 さくらの通信モジュール
  5. 2017/1/21 (C) Copyright 1996-2017 SAKURA Internet Inc 16 定価8,000円 ブレイクアウトボード(検証ボード)

    SCO-BB-01 定価 5,000円 Aruduinoシールドボード SCO-ARD-01 さくらの通信モジュールオプション
  6. 2017/1/21 (C) Copyright 1996-2016 SAKURA Internet Inc 4,980円 単体方式 SCM-LTE-beta

    2,500円 4,000円 Aruduino シールドボード SCO-ARD-01 9,960円 5,000円 8,000円 さくらの通信モジュール及びオプション 半 額 100万回プラットフォームと データ送受信可能なポイント※付き 88 ブレイクアウトボード (検証ボード) SCO-BB-01
  7. 2

  8. 25 Docker Engine Linux Kernel ・namespaces ・cgroups LXC libcontainer runC

    containerd v0.9~ v1.11~ Version 7 Unix chroot jail dockerd v1.12~ デーモン ライブラリ ランタイム docker daemon ・SELinux ・capabilities … etc Docker: the container engine v1.11~ カ ー ネ ル ネ ー ム ス ペ ー ス シ ー グ ル ー プ エ ス イ ー リ ナ ッ ク ス ケ ー パ ビ リ テ ィ エルエックスシー リ ブ コ ン テ ナ ラ ン シ ー ド ッ カ ー デ ー モ ン コ ン テ ナ デ ィ ー ド ッ カ ー デ ィ ー ド ッ カ ー エ ン ジ ン オ ー プ ン コ ン テ ナ イ ニ シ ア テ ィ ブ
  9. 2

  10. 31 $ docker Docker Hub Nginx Build Run Ship 開

    発 ・ 構 築 移 動 実 行 今日やること
  11. • 基本操作とコンテナ作成・デプロイ方法を習得 32 1. さくらのクラウド にログイン 2. 仮想サーバ(CentOS 7.2)の起動 3.

    Docker Engine のセットアップ 4. docker コマンドの基本操作を学ぶ 5. Nginx イメージを作成 6. Docker Hub にログイン 7. Docker Hub に push 8. Arukas に Nginx をデプロイ $ docker Docker Hub Nginx デモの流れ
  12. docker run ▪docker run コマンド → 指定したイメージのコンテナを起動する ▪構文 → docker

    run イメージ [オプション][コマンド][引数] ▪オプション → -d バックグランドで実行 → -i コンテナの標準入力を開く → -t ttyを確保する → -p ポートフォワード 4
  13. docker run hello-worldの結果 4 「hello world」の入力が終わると「docker run –it ubuntu bash」を試し

    てみろ、と言われているので、これを入力してみましょう。
  14. 4

  15. docker ps ▪docker ps コマンド → コンテナIDを確認するためコマンド。これでわかる ものは ・コンテナのID ・コンテナがどのイメージから作られたのか?

    ・コンテナが動いてどのぐらい経過したのか? ▪オプション → -l 直近(latest)のコンテナの情報を表示 → -q コンテナのショートIDのみ表示 → -a 停止しているコンテナも含め全て(all)表示 5
  16. docker logs ▪docker logs コマンド → コンテナの標準出力の内容をコンテナ外から 確認する ▪オプション →

    -tail ログの最後数行が見られるようになる → -follow リアルタイムでログが確認できる。 6
  17. リアルタイムでログを見る 6 docker logs --tail 1 --follow (コンテナのID) Unixコマンドのtail -fのようにfollowオプションをつけることでリアルタイ

    ムでログを確認することができる。上記のコマンドを入力するとリアルタイ ムでログが表示される。止めるには「Ctrl + C」で
  18. docker exec ▪docker exec コマンド → 実行中のコンテナでコマンドを実行します。 ▪構文 → docker

    exec [オプション] コンテナ コマン ド [引数...] ▪オプション → -d コマンドをバックグラウンドで実行 8
  19. docker exec コマンドで bash の追加プロセスを実行 83 docker exec コマンドで bash

    の追加プロセスを実行。 docker exec -it $(docker ps -ql) /bin/bash
  20. Nginx のドキュメント・ルートにある index.html を書き換えます。 86 Nginx のドキュメント・ルートにある index.html を書き換えhello world

    が表示されるようにします echo 'hello world' > /usr/share/nginx/html/index.html cat /usr/share/nginx/html/index.html
  21. 新しいイメージを作るには 91 ・docker commit → コンテナからDocker イメージを作る。 ・docker build →

    Docker fileからDockerイメージを作る。 ・docker import → Base imageからDockerイメージをつくる。
  22. docker build ▪docker build コマンド → DockerfileからDockerイメージを作る ▪構文 docker build

    –t <Dockerイメージ名>:<タ グ名><Dockerfileを配置するディリクトリ> 10
  23. docker tags コマンド 113 docker tags コマンドで mynginx:1.1 イメージに Docker

    Hub ID の情報 を付けます docker tag mynginx:1.1 <自分のID名>/mynginx:1.1
  24. 12

  25. Docker composeのバイナリをセットする。 149 上記のコマンドを入力して、Docker Composeのバイナリをセットする curl -L https://github.com/docker/compose/releas es/download/1.8.0/docker-compose- `uname

    -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
  26. 154 エラーが出ていなければ「docker images」を入力して「mongo」と 「rocketchat/rocket.chat」と「rocketchat/hubot-rocketchat」のイメー ジを取得できているか確認をする。 # docker images REPOSITORY TAG

    IMAGE ID CREATED SIZE mongo latest 7f09d45df511 5 days ago 336.1 MB rocketchat/rocket.chat latest 30826dfbbfa6 2 weeks ago 332.4 MB rocketchat/hubot-rocketchat latest a727f5c88c43 5 weeks ago 800.5 MB