Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
VirtualTech Japan Inc./Begi.net Inc.
PPTX, PDF
446 views
今さら聞けない人のためのDocker超入門
KOF2017で講演した際の資料です。 部分的にアップデートした程度なので、内容的に古くなっているところもありますが、参考程度に。
Engineering
◦
Read more
0
Save
Share
Embed
Download
Download to read offline
1
/ 36
2
/ 36
3
/ 36
4
/ 36
5
/ 36
6
/ 36
7
/ 36
8
/ 36
9
/ 36
10
/ 36
11
/ 36
12
/ 36
13
/ 36
14
/ 36
15
/ 36
16
/ 36
17
/ 36
18
/ 36
19
/ 36
20
/ 36
21
/ 36
22
/ 36
23
/ 36
24
/ 36
25
/ 36
26
/ 36
27
/ 36
28
/ 36
29
/ 36
30
/ 36
31
/ 36
32
/ 36
33
/ 36
34
/ 36
35
/ 36
36
/ 36
More Related Content
PPTX
今さら聞けない人のためのK8s超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのgit超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのgit超入門 OSC2018京都 資料
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのK8s超入門 Big Sur対応版
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのGit超入門 GitLab 14対応版
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのGit超入門 2020/12/19
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのgit超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのK8s超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのgit超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのgit超入門 OSC2018京都 資料
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのK8s超入門 Big Sur対応版
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのGit超入門 GitLab 14対応版
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのGit超入門 2020/12/19
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのgit超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
What's hot
PPTX
今さら聞けない人のための K8s超入門 Big Sur対応版 20210305
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのGit超入門 GitLab 13対応版
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのK8s超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのK8s超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのGit超入門 2019/11/21
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのgit超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのGit超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのGit超入門 OSC2018名古屋版
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
Ossで作成するチーム開発環境
by
Tadahiro Ishisaka
PDF
今すぐ始める!Ubuntu入門
by
VirtualTech Japan Inc./Begi.net Inc.
PDF
今すぐ始める!Ubuntu入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのGitLabの始め方 Ubuntu編
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
GitLab CI/CD パイプライン
by
Tetsurou Yano
PPTX
今さら聞けない人のためのK8s超入門 Big Sur対応版
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のための K8s 超入門 Big Sur 対応版
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのgit超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のための K8s超入門 Big Sur対応版 CNDO2021 ショートバージョン
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
2012 05-19第44回cocoa勉強会発表資料
by
OCHI Shuji
今さら聞けない人のための K8s超入門 Big Sur対応版 20210305
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのGit超入門 GitLab 13対応版
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのK8s超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのK8s超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのGit超入門 2019/11/21
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのgit超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのGit超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのGit超入門 OSC2018名古屋版
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
Ossで作成するチーム開発環境
by
Tadahiro Ishisaka
今すぐ始める!Ubuntu入門
by
VirtualTech Japan Inc./Begi.net Inc.
今すぐ始める!Ubuntu入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのGitLabの始め方 Ubuntu編
by
VirtualTech Japan Inc./Begi.net Inc.
GitLab CI/CD パイプライン
by
Tetsurou Yano
今さら聞けない人のためのK8s超入門 Big Sur対応版
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のための K8s 超入門 Big Sur 対応版
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのgit超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のための K8s超入門 Big Sur対応版 CNDO2021 ショートバージョン
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
2012 05-19第44回cocoa勉強会発表資料
by
OCHI Shuji
Similar to 今さら聞けない人のためのDocker超入門
PPTX
今さら聞けない人のためのDocker超入門 - KOF
by
VirtualTech Japan Inc.
PPTX
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
by
VirtualTech Japan Inc.
PPTX
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
by
VirtualTech Japan Inc.
PPTX
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
by
VirtualTech Japan Inc.
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
by
Yuichi Ito
PDF
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
by
Masahito Zembutsu
PPTX
Docker & Kubernetes基礎
by
Daisuke Hiraoka
PPTX
いまさら聞けないDockerコンテナ超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
by
Masahito Zembutsu
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
by
Kunihiro TANAKA
PDF
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
by
Naoki Nagazumi
PDF
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
by
Masahito Zembutsu
PDF
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
by
Masahito Zembutsu
PPTX
Docker超入門
by
VirtualTech Japan Inc.
PDF
Docker入門 - 基礎編 いまから始めるDocker管理
by
Masahito Zembutsu
PPTX
今さら聞けない人のためのDocker超入門
by
Toru Miyahara
PDF
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
by
Masahiro Nagano
PDF
Docker事始めと最新動向 2015年6月
by
Emma Haruka Iwao
PDF
Dockerでらくらく開発・運用を体感しよう
by
Takashi Makino
PDF
Docker入門
by
Keita Midorikawa
今さら聞けない人のためのDocker超入門 - KOF
by
VirtualTech Japan Inc.
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
by
VirtualTech Japan Inc.
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
by
VirtualTech Japan Inc.
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
by
VirtualTech Japan Inc.
Docker入門: コンテナ型仮想化技術の仕組みと使い方
by
Yuichi Ito
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
by
Masahito Zembutsu
Docker & Kubernetes基礎
by
Daisuke Hiraoka
いまさら聞けないDockerコンテナ超入門
by
VirtualTech Japan Inc./Begi.net Inc.
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
by
Masahito Zembutsu
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
by
Kunihiro TANAKA
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
by
Naoki Nagazumi
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
by
Masahito Zembutsu
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
by
Masahito Zembutsu
Docker超入門
by
VirtualTech Japan Inc.
Docker入門 - 基礎編 いまから始めるDocker管理
by
Masahito Zembutsu
今さら聞けない人のためのDocker超入門
by
Toru Miyahara
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
by
Masahiro Nagano
Docker事始めと最新動向 2015年6月
by
Emma Haruka Iwao
Dockerでらくらく開発・運用を体感しよう
by
Takashi Makino
Docker入門
by
Keita Midorikawa
More from VirtualTech Japan Inc./Begi.net Inc.
PPTX
AlmaLinuxでLLMを動かす 〜 NVIDIAドライバー導入からLM Studioまで 〜
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
Linuxサーバー構築学習のポイントと環境構築 ~『Linuxサーバー構築標準教科書』の執筆者が超解説!~
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのDevOps超入門 2025/2/20 OSC2025 Tokyp/Spring
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
爆速!DBチューニング超入門 〜DB性能の基礎とGPU活用による高速化〜
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
爆速DB「PG-Strom」について 『PG-Strom v5リリース記念 GPUを活用したビッグデータ分析基盤を構築しよう」』
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
MIRACLE LINUX 9にAnsibleをインストールした話
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
爆速!DBチューニング超入門 〜DB性能の基礎とPG-Stromによる高速化〜 2025/2/21
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのDevOps超入門 ODC2023編
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのSSH超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
OSCのこれまでを振り返るとしたらこんな感じ?
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
DBチューニング超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
OSC2023福岡LT「希望の船に乗って」みやはら とおる(@tmiyahar)
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
最近のOSCと今後について
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
オープンソースカンファレンスへの参加のススメ
by
VirtualTech Japan Inc./Begi.net Inc.
AlmaLinuxでLLMを動かす 〜 NVIDIAドライバー導入からLM Studioまで 〜
by
VirtualTech Japan Inc./Begi.net Inc.
Linuxサーバー構築学習のポイントと環境構築 ~『Linuxサーバー構築標準教科書』の執筆者が超解説!~
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門 2025/2/20 OSC2025 Tokyp/Spring
by
VirtualTech Japan Inc./Begi.net Inc.
爆速!DBチューニング超入門 〜DB性能の基礎とGPU活用による高速化〜
by
VirtualTech Japan Inc./Begi.net Inc.
爆速DB「PG-Strom」について 『PG-Strom v5リリース記念 GPUを活用したビッグデータ分析基盤を構築しよう」』
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
MIRACLE LINUX 9にAnsibleをインストールした話
by
VirtualTech Japan Inc./Begi.net Inc.
爆速!DBチューニング超入門 〜DB性能の基礎とPG-Stromによる高速化〜 2025/2/21
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門 ODC2023編
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのSSH超入門
by
VirtualTech Japan Inc./Begi.net Inc.
OSCのこれまでを振り返るとしたらこんな感じ?
by
VirtualTech Japan Inc./Begi.net Inc.
DBチューニング超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDevOps超入門
by
VirtualTech Japan Inc./Begi.net Inc.
OSC2023福岡LT「希望の船に乗って」みやはら とおる(@tmiyahar)
by
VirtualTech Japan Inc./Begi.net Inc.
最近のOSCと今後について
by
VirtualTech Japan Inc./Begi.net Inc.
オープンソースカンファレンスへの参加のススメ
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのDocker超入門
1.
今さら聞けない人のための Docker超入門 CentOS 7.3対応版 日本仮想化技術株式会社 代表取締役社長兼CEO 宮原 徹(@tmiyahar) http://VirtualTech.jp
2.
自己紹介 • 本名:宮原 徹 •
1972年1月 神奈川県生まれ • 1994年3月 中央大学法学部法律学科卒業 • 1994年4月 日本オラクル株式会社入社 – PCサーバ向けRDBMS製品マーケティングに従事 – Linux版Oracle8の日本市場向け出荷に貢献 • 2000年3月 株式会社デジタルデザイン 東京支社長および株 式会社アクアリウムコンピューター 代表取締役社長に就任 – 2000年6月 (株)デジタルデザイン、ナスダック・ジャパン上場(4764) • 2001年1月 株式会社びぎねっと 設立 • 2006年12月 日本仮想化技術株式会社 設立 • 2008年10月 IPA「日本OSS貢献者賞」受賞 • 2009年10月 日中韓OSSアワード 「特別貢献賞」受賞 • ガンダム勉強会主宰・好きなモビルスーツはアッガイ 2
3.
日本仮想化技術株式会社 概要 • 社名:日本仮想化技術株式会社 –
英語名:VirtualTech Japan Inc. – 略称:日本仮想化技術/VTJ • 設立:2006年12月 • 資本金:3,000万円 • 売上高:10,702万円(2017年7月期) • 本社:東京都渋谷区渋谷1-8-1 • 取締役:宮原 徹(代表取締役社長兼CEO) • 伊藤 宏通(取締役CTO) • スタッフ:9名(うち、7名が仮想化技術専門エンジニアです) • URL:http://VirtualTech.jp/ • 仮想化技術に関する研究および開発 – 仮想化技術に関する各種調査 – 仮想化技術に関連したソフトウェアの開発 – 仮想化技術を導入したシステムの構築 – OpenStackの導入支援・新規機能開発 ベンダーニュートラルな 独立系仮想化技術の エキスパート集団 3
4.
本日のアジェンダ • Dockerを動かそう • Dockerコンテナのライフサイクル •
Dockerの操作とトラブルシューティング 基礎の基礎 • Dockerのネットワーク • Dockerfileを書いてみる • Dockerを触ったことがない、という方向けです • ごく基本的な話しかしていません • バージョンアップして変更になったり、もっと色々な テクニックも存在しますが、よく分かってません 4
5.
Dockerを動かそう 5
6.
Dockerの特徴 • 1コンテナ1プロセスで動作する – 仮想マシンと比べてハイパーバイザーのオーバーヘッ ドが無いのでより高速 •
≒コンテナ内で1プロセス(1タスク)が動作する – サービスプロセスと並行で対話型シェルを動かすなど の考え方は基本的に無い(シングルタスク) – コンテナの中であれこれ動作させるのには向かない – WebアプリならWeb APサーバで1コンテナ、DBサーバ で1コンテナという感じ • Dockerイメージは(ルート)ファイルシステム – chrootを思い浮かべるとちょうどいい 6
7.
閑話休題 去年に呉に行きました 7
8.
コンテナ船 納期6ヶ月 8
9.
各方式の比較 ベアメタル(物理) 仮想マシン コンテナ 性能
最も速い I/Oが遅い 速い OS 1つだけ 複数種類を混在可 能 カーネルは1つだけ だが、ディストリ ビューションは混在 可能 リソース使用 システムで専有 メモリの無駄が多い OSカーネルは1つ で効率が良い 柔軟性 硬直的 非常に柔軟 単機能向け 主な用途 高速なDBなど 従来型の業務シス テム Webサービスのフロ ントエンド等、同一 のものを大量配備 する必要があるも の 9
10.
Dockerをインストールする 1. CentOS 7.3をインストール 2.
アップデートを行う – # yum update -y 3. Dockerパッケージをインストール – # yum install docker – Docker用ストレージ領域を設定後Dockerサービス を起動するので、この段階では起動しません 4. bridge-utilsパッケージも入れておきます – # yum install bridge-utils 10
11.
Docker用ストレージ領域 • Docker用のストレージ領域をLVM領域に作成 – Thin
Poolと呼ばれている – 設定しないとループバックデバイスが使用されるが非推奨 1. 未使用の/dev/sdbを用意する(仮想ディスク追加など) 2. /etc/sysconfig/docker-storage-setupに以下の2行を追 加 3. docker-storage-setupを実行する – # docker-storage-setup 11 DEVS=/dev/sdb VG=dokcer-vg
12.
docker-storage-setup実行例 # docker-storage-setup 現在、誰もこのディスクを使っていないかを調べます... OK ディスク /dev/sdb:
シリンダ数 8354、ヘッド数 255、63 セクタ/トラック sfdisk: /dev/sdb: 認識できないパーティション領域タイプ (略) デバイス ブート 始点 終点 #セクタ Id システム /dev/sdb1 2048 134217727 134215680 8e Linux LVM /dev/sdb2 0 - 0 0 空 /dev/sdb3 0 - 0 0 空 /dev/sdb4 0 - 0 0 空 (略) Physical volume "/dev/sdb1" successfully created Volume group "docker-vg" successfully created Rounding up size to full physical extent 68.00 MiB Logical volume "docker-poolmeta" created. Logical volume "docker-pool" created. WARNING: Converting logical volume docker-vg/docker-pool and docker-vg/docker-poolmeta to pool's data and metadata volumes. THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.) Converted docker-vg/docker-pool to thin pool. Logical volume "docker-pool" changed. 12
13.
サービスの起動 1. dockerサービスを起動する – #
systemctl start docker 2. システム起動時に自動起動するように有 効化しておく – # systemctl enable docker • Dockerサービスを停止すると、動作中のコ ンテナは停止します – 消えるわけではない 13
14.
firewalldの止め方 • 後ほどDockerのネットワークについて調べる 際にfirewalldを止めておくと設定が見やすい 1. iptables-servicesパッケージをインストール –
最小構成だとインストールされない – # yum install iptables-services -y 2. systemdの設定を変更し、firewalldを停止・無 効化、iptablesを起動・有効化 – # systemctl stop firewalld – # systemctl disable firewalld – # systemctl start iptables – # systemctl enable iptables 14 参考
15.
Dockerイメージをダウンロード 1. CentOSのDockerイメージを検索 – #
docker search centos 2. CentOSのDockerイメージをダウンロード – # docker pull centos – 最新版(latest)がダウンロードされる 3. Dockerイメージを確認 – # docker images – 基本的にはIDで識別(同一IDに複数TAGも) 15
16.
Dockerコンテナを実行(基本) 1. CentOSイメージでコンテナを実行 – #
docker run -it centos /bin/bash – -i, --interactive=true|false – -t, --tty=true|false 2. 実行中のコンテナを確認 – ホスト側で実行(別ターミナルなど) – # docker ps -a – -a, --all=true|false – 一意のIDと名前が割り当てられる 16
17.
Dockerコンテナ実行(応用) 1. コンテナ名を付ける – #
docker run --name=名前 イメージ名 コマンド 2. シェルからコマンドを実行させる – # docker run イメージ名 /bin/bash -c "コマンド" – yumでパッケージをインストールしたり 3. より複雑な実行時処理を行いたい場合は Dockerfileを記述する(後述) – どこまで複雑にするかはケースバイケース? 17
18.
Dockerコンテナのライフサイクル 18
19.
イメージとコンテナの変移 19 centos ①コンテナとして実行(docker run) httpd ②
# yum install httpd centos httpd ③コンテナをイメージ化(docker commit) ④イメージをコンテナ化 (docker run) centos
20.
コンテナをイメージ化 1. コンテナにhttpdパッケージをインストール – #
docker run --name=httpd centos /bin/bash -c "yum install httpd -y" 2. httpdコンテナをコミットしてイメージ化 – # docker commit httpd httpd_template 3. イメージを確認 – # docker images 20
21.
新たなイメージからコンテナ実行 1. コンテナでhttpdを実行し、コンテナのポート80 番をホストの8080番に紐付ける – #
docker run -d -p 8080:80 --name=web1 httpd_template /usr/sbin/httpd -D FOREGROUND – -d, --detach=true|false 2. ポートが紐付いていることを確認 – # docker ps -a – # curl localhost:8080 21
22.
ストレージの使用状況を確認 • lsblkコマンドでThin Poolにしていしたブロッ クデバイスを確認する 22 #
docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3e1627b55d10 httpd_template "/usr/sbin/httpd -D About a minute ago Up About a minute 0.0.0.0:8080->80/tcp web1 # lsblk /dev/sdb1 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb1 8:17 0 64G 0 part ├─dokcer--vg-docker--pool_tmeta 253:3 0 68M 0 lvm │ └─dokcer--vg-docker--pool 253:5 0 38.4G 0 lvm │ └─docker-253:0-134477219-3e1627b55d102cd04dce24579088cd6ba44765047c1bb909669240cd2de268bc 253:6 0 10G 0 dm └─dokcer--vg-docker--pool_tdata 253:4 0 38.4G 0 lvm └─dokcer--vg-docker--pool 253:5 0 38.4G 0 lvm └─docker-253:0-134477219-3e1627b55d102cd04dce24579088cd6ba44765047c1bb909669240cd2de268bc 253:6 0 10G 0 dm
23.
Dockerの操作と トラブルシューティング 基礎の基礎
24.
覚えておきたいコマンド • docker inspect
コンテナ名 – 実行中のコンテナの情報を確認できる • docker stop/start/pause コンテナ名 – 実行中のコンテナを停止/再実行/一時停止 • docker attach コンテナ名 – 実行中のコンテナに接続(事前にstartが必要) • docker rm コンテナ名 – 停止中のコンテナをコンテナリストから削除 • docker rmi イメージ名 – イメージを削除 24
25.
トラブルシューティング • 対話式シェルを実行して手動実行 – エラーで停止したコンテナでシェル実行し、ログなどを 確認できる –
# docker exec -it コンテナ名 /bin/bash • dockerサービスを再起動してみる – # systemctl restart docker – 動作中のコンテナは停止してしまうのでstartが必要 • ネットワーク周りならiptablesを確認 – # iptables-save – firewalldが動いていると煩雑なので、iptablesに切り替 える方が良いかも 25
26.
Dockerのネットワーク 26
27.
Dockerのネットワーク構成図 27 Dockerコンテナ eth0 eth0 docker0 veth veth Dockerコンテナ eth0 仮想的に直結 ブリッジ接続 NAPT接続(IPマスカレードやポート転送) 外部
28.
ホストのNIC周りの確認 [root@localhost ~]# ip
addr show (略) 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:1c:42:1e:f2:ad brd ff:ff:ff:ff:ff:ff inet 172.16.6.246/16 brd 172.16.255.255 scope global dynamic eth0 valid_lft 2984sec preferred_lft 2984sec inet6 fe80::21c:42ff:fe1e:f2ad/64 scope link valid_lft forever preferred_lft forever 3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff inet 172.17.42.1/16 scope global docker0 valid_lft forever preferred_lft forever inet6 fe80::5484:7aff:fefe:9799/64 scope link valid_lft forever preferred_lft forever 35: veth1f3e585: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master docker0 state UP qlen 1000 link/ether 92:d8:4a:6c:20:b2 brd ff:ff:ff:ff:ff:ff inet6 fe80::90d8:4aff:fe6c:20b2/64 scope link valid_lft forever preferred_lft forever [root@localhost ~]# brctl show bridge name bridge id STP enabled interfaces docker0 8000.56847afe9799 no veth1f3e585 28
29.
iptables-saveの実行結果 *nat :PREROUTING ACCEPT [3251:517949] :INPUT
ACCEPT [1495:211919] :OUTPUT ACCEPT [74:5868] :POSTROUTING ACCEPT [73:5828] :DOCKER - [0:0] -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER -A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE -A DOCKER ! -i docker0 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 172.17.0.11:80 COMMIT *filter :INPUT ACCEPT [3028:437371] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [92:8782] -A FORWARD -d 172.17.0.11/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 80 -j ACCEPT -A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i docker0 ! -o docker0 -j ACCEPT -A FORWARD -i docker0 -o docker0 -j ACCEPT COMMIT 赤:コンテナが外部に出ていくための設定 青:コンテナへの接続設定 29 ※firewalldを止めています
30.
Dockerfileを書いてみる 30
31.
Dockerfileに書ける内容 命令 内容 FROM 元となるイメージ MAINTAINER
Dockerfileの制作者 RUN docker build時にコマンド実行 ADD ファイル、ディレクトリの追加 COPY ファイル、ディレクトリの追加(URL指定不可・解凍不可 ) CMD コンテナ実行時にコマンド実行(実行時上書き可) ENTRYPOINT コンテナ実行時にコマンド実行(実行時上書き不可) WORKDIR 作業ディレクトリの指定 ENV 環境変数の指定 USER 実行ユーザの指定 EXPOSE ポートの紐付け VOLUME ボリュームのマウント31
32.
Dockerfileの使用例(1) • Dockerfileを作成する – ENTRYPOINTでhttpdの起動を指定しているので、 docker
run時にhttp起動の指定が不要 • docker buildでDockerイメージを作る – # docker build -t httpd_dockerfile . – 最後の「. 」はカレントディレクトリのDockerfileを参照す るために指定 32 FROM centos:latest MAINTAINER tmiyahar <
[email protected]
> RUN yum install httpd -y ENTRYPOINT /usr/sbin/httpd -D FOREGROUND ←.(ドット)を忘れずに
33.
Dockerfileの使用例(2) • Dockerイメージが作成されたことを確認 – #
docker images • Docker buildで作成したイメージでコンテナを 実行する – # docker run -d -p 8081:80 --name=web2 httpd_dockerfile – # curl localhost:8081 – ENTRYPOINTでhttpdの起動を指定しているので コンテナで実行するコマンドの指定は不要 33
34.
まとめと課題 • CentOS 7初期の頃は不整合が多く(特にsystemd 廻り)扱いにくかったが、こなれてきたので一度 触ってみるにはいい塩梅 –
httpdとか動かなかった(/var/runがtmpfsだから) • どこまでイメージを作り込み、どこからDockerfile等 で自動化するかの加減は? – 作り込みすぎるとメンテが大変 – 自動化部分が多いとデプロイに時間がかかる • DockerHubを使ったり、Gitと連動させたり • AtomicHostとかCoreOSとか • Kubernetesのような管理ツールは? 34
35.
次回予告 • このネタもかなり手垢が付いてきたので • そろそろ新しいネタを作ります •
次回OSC大阪は2017年1月28日(土)開催 • 「今さら聞けない人のためのDevOps超入 門」 – Jenkins+GitLab+Ruby on Rails+Dockerでテス ト自動化までをする環境を作る • ご期待ください! 35
36.
ありがとうございました 36
Download