Skip to main content
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
Uploaded by
VirtualTech Japan Inc.
9,332 views
Docker超入門
Dockerとは、Dockerを使うには、Docker Composeを使うには...のHowto
Engineering
◦
Read more
More Related Content
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
by
Masahito Zembutsu
182 slides
84K views
PDF
Docker Compose 徹底解説
by
Masahito Zembutsu
123 slides
63.5K views
PDF
containerdの概要と最近の機能
by
Kohei Tokunaga
24 slides
3.6K views
PPTX
コンテナネットワーキング(CNI)最前線
by
Motonori Shindo
34 slides
33.8K views
PDF
DockerとPodmanの比較
by
Akihiro Suda
37 slides
64.8K views
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
by
Toru Makabe
53 slides
38.9K views
PDF
Dockerからcontainerdへの移行
by
Kohei Tokunaga
36 slides
19.4K views
PPTX
Dockerからcontainerdへの移行
by
Akihiro Suda
36 slides
10.8K views
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
by
Masahito Zembutsu
182 slides
84K views
Docker Compose 徹底解説
by
Masahito Zembutsu
123 slides
63.5K views
containerdの概要と最近の機能
by
Kohei Tokunaga
24 slides
3.6K views
コンテナネットワーキング(CNI)最前線
by
Motonori Shindo
34 slides
33.8K views
DockerとPodmanの比較
by
Akihiro Suda
37 slides
64.8K views
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
by
Toru Makabe
53 slides
38.9K views
Dockerからcontainerdへの移行
by
Kohei Tokunaga
36 slides
19.4K views
Dockerからcontainerdへの移行
by
Akihiro Suda
36 slides
10.8K views
What's hot
PDF
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
51 slides
90.6K views
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
by
Masahito Zembutsu
91 slides
61.4K views
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
by
Masahito Zembutsu
96 slides
37.4K views
PDF
例外設計における大罪
by
Takuto Wada
37 slides
76.9K views
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
45 slides
174.7K views
PPTX
世界一わかりやすいClean Architecture
by
Atsushi Nakamura
77 slides
54.9K views
PPTX
ゲームエンジニアのためのデータベース設計
by
sairoutine
32 slides
35K views
PDF
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
by
NTT DATA Technology & Innovation
21 slides
2.7K views
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
by
Kohei Tokunaga
89 slides
146.5K views
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
32 slides
141K views
PPTX
Redisの特徴と活用方法について
by
Yuji Otani
65 slides
109.5K views
PDF
BuildKitの概要と最近の機能
by
Kohei Tokunaga
34 slides
6.7K views
PDF
今話題のいろいろなコンテナランタイムを比較してみた
by
Kohei Tokunaga
26 slides
62.9K views
PDF
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
by
Masahito Zembutsu
62 slides
16.1K views
PPTX
BuildKitによる高速でセキュアなイメージビルド
by
Akihiro Suda
27 slides
45.8K views
PDF
Dockerを支える技術
by
Etsuji Nakai
43 slides
83K views
PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
by
日本マイクロソフト株式会社
148 slides
15K views
PDF
Fluentdのお勧めシステム構成パターン
by
Kentaro Yoshida
43 slides
51.8K views
PDF
DockerとKubernetesをかけめぐる
by
Kohei Tokunaga
37 slides
4K views
PDF
Dockerfileを改善するためのBest Practice 2019年版
by
Masahito Zembutsu
83 slides
66.1K views
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
51 slides
90.6K views
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
by
Masahito Zembutsu
91 slides
61.4K views
コンテナの作り方「Dockerは裏方で何をしているのか?」
by
Masahito Zembutsu
96 slides
37.4K views
例外設計における大罪
by
Takuto Wada
37 slides
76.9K views
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
45 slides
174.7K views
世界一わかりやすいClean Architecture
by
Atsushi Nakamura
77 slides
54.9K views
ゲームエンジニアのためのデータベース設計
by
sairoutine
32 slides
35K views
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
by
NTT DATA Technology & Innovation
21 slides
2.7K views
コンテナ未経験新人が学ぶコンテナ技術入門
by
Kohei Tokunaga
89 slides
146.5K views
マイクロにしすぎた結果がこれだよ!
by
mosa siru
32 slides
141K views
Redisの特徴と活用方法について
by
Yuji Otani
65 slides
109.5K views
BuildKitの概要と最近の機能
by
Kohei Tokunaga
34 slides
6.7K views
今話題のいろいろなコンテナランタイムを比較してみた
by
Kohei Tokunaga
26 slides
62.9K views
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
by
Masahito Zembutsu
62 slides
16.1K views
BuildKitによる高速でセキュアなイメージビルド
by
Akihiro Suda
27 slides
45.8K views
Dockerを支える技術
by
Etsuji Nakai
43 slides
83K views
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
by
日本マイクロソフト株式会社
148 slides
15K views
Fluentdのお勧めシステム構成パターン
by
Kentaro Yoshida
43 slides
51.8K views
DockerとKubernetesをかけめぐる
by
Kohei Tokunaga
37 slides
4K views
Dockerfileを改善するためのBest Practice 2019年版
by
Masahito Zembutsu
83 slides
66.1K views
Similar to Docker超入門
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
by
Yuichi Ito
63 slides
69.4K views
PDF
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
by
Masahito Zembutsu
76 slides
4.7K views
PDF
Docker handson
by
koda3
118 slides
454 views
PDF
ゆるふわなDockerの使い方
by
Kento Aoyama
46 slides
1.3K views
PPTX
Docker & Kubernetes基礎
by
Daisuke Hiraoka
30 slides
2.1K views
PDF
DockerとDocker Hubの操作と概念
by
Masahito Zembutsu
82 slides
28.3K views
PDF
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
by
Naoki Nagazumi
111 slides
18.4K views
PDF
Dockerでらくらく開発・運用を体感しよう
by
Takashi Makino
27 slides
3.2K views
PDF
Docker事始めと最新動向 2015年6月
by
Emma Haruka Iwao
54 slides
5K views
PPTX
コンテナの基本 ~Docker実践~
by
Ryosuke Uchiyama
41 slides
153 views
PPTX
Docker Tokyo
by
cyberblack28 Ichikawa
34 slides
22.8K views
PDF
Docker社内勉強会
by
osamu_takezawa
25 slides
1.1K views
PDF
Dockerイメージの理解とコンテナのライフサイクル
by
Masahito Zembutsu
30 slides
83.3K views
PDF
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
by
Masahito Zembutsu
50 slides
26K views
PPTX
Docker入門 OSC 2018 Tokyo/Spring
by
cyberblack28 Ichikawa
43 slides
4.3K views
PDF
Docker入門
by
Keita Midorikawa
30 slides
349 views
PDF
Dockerハンズオン
by
Kazuyuki Mori
66 slides
2.3K views
PDF
使ってわかる 今どきのdocker超入門
by
Kazuhide Okamura
36 slides
1.4K views
PPTX
今さら聞けない人のためのDocker超入門
by
VirtualTech Japan Inc./Begi.net Inc.
36 slides
452 views
PDF
VagrantユーザのためのDocker入門
by
Masashi Shinbara
48 slides
58K views
Docker入門: コンテナ型仮想化技術の仕組みと使い方
by
Yuichi Ito
63 slides
69.4K views
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
by
Masahito Zembutsu
76 slides
4.7K views
Docker handson
by
koda3
118 slides
454 views
ゆるふわなDockerの使い方
by
Kento Aoyama
46 slides
1.3K views
Docker & Kubernetes基礎
by
Daisuke Hiraoka
30 slides
2.1K views
DockerとDocker Hubの操作と概念
by
Masahito Zembutsu
82 slides
28.3K views
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
by
Naoki Nagazumi
111 slides
18.4K views
Dockerでらくらく開発・運用を体感しよう
by
Takashi Makino
27 slides
3.2K views
Docker事始めと最新動向 2015年6月
by
Emma Haruka Iwao
54 slides
5K views
コンテナの基本 ~Docker実践~
by
Ryosuke Uchiyama
41 slides
153 views
Docker Tokyo
by
cyberblack28 Ichikawa
34 slides
22.8K views
Docker社内勉強会
by
osamu_takezawa
25 slides
1.1K views
Dockerイメージの理解とコンテナのライフサイクル
by
Masahito Zembutsu
30 slides
83.3K views
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
by
Masahito Zembutsu
50 slides
26K views
Docker入門 OSC 2018 Tokyo/Spring
by
cyberblack28 Ichikawa
43 slides
4.3K views
Docker入門
by
Keita Midorikawa
30 slides
349 views
Dockerハンズオン
by
Kazuyuki Mori
66 slides
2.3K views
使ってわかる 今どきのdocker超入門
by
Kazuhide Okamura
36 slides
1.4K views
今さら聞けない人のためのDocker超入門
by
VirtualTech Japan Inc./Begi.net Inc.
36 slides
452 views
VagrantユーザのためのDocker入門
by
Masashi Shinbara
48 slides
58K views
More from VirtualTech Japan Inc.
PDF
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
by
VirtualTech Japan Inc.
55 slides
1.5K views
PPTX
エンジニアが幸せになれる会社を目指します
by
VirtualTech Japan Inc.
12 slides
19.1K views
PDF
KubeVirt 201 How to Using the GPU
by
VirtualTech Japan Inc.
30 slides
18.9K views
PDF
KubeVirt 101
by
VirtualTech Japan Inc.
35 slides
19.1K views
PDF
今からはじめる! Linuxコマンド入門
by
VirtualTech Japan Inc.
50 slides
19.7K views
PDF
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
by
VirtualTech Japan Inc.
52 slides
2.1K views
PDF
Kubernetes雑にまとめてみた 2020年8月版
by
VirtualTech Japan Inc.
34 slides
3.9K views
PDF
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
by
VirtualTech Japan Inc.
3 slides
2.2K views
PDF
5G時代のアプリケーション開発とは
by
VirtualTech Japan Inc.
26 slides
1.5K views
PDF
hbstudy#88 5G+MEC時代のシステム設計
by
VirtualTech Japan Inc.
73 slides
3.8K views
PDF
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
by
VirtualTech Japan Inc.
9 slides
689 views
PDF
Kubernetes雑にまとめてみた 2019年12月版
by
VirtualTech Japan Inc.
30 slides
3.6K views
PPTX
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
by
VirtualTech Japan Inc.
30 slides
4.3K views
PDF
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
by
VirtualTech Japan Inc.
12 slides
1.2K views
PDF
KubeCon China & MWC Shangai 出張報告
by
VirtualTech Japan Inc.
21 slides
635 views
PDF
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
by
VirtualTech Japan Inc.
42 slides
4.8K views
PDF
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
by
VirtualTech Japan Inc.
42 slides
2.3K views
PDF
Multi-access Edge Computing(MEC)における”Edge”の定義
by
VirtualTech Japan Inc.
6 slides
1.9K views
PPTX
Edge Computing Architecture using GPUs and Kubernetes
by
VirtualTech Japan Inc.
47 slides
3.8K views
PDF
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド (更新版) - OpenStack Day Tokyo 2018講演資料
by
VirtualTech Japan Inc.
50 slides
836 views
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
by
VirtualTech Japan Inc.
55 slides
1.5K views
エンジニアが幸せになれる会社を目指します
by
VirtualTech Japan Inc.
12 slides
19.1K views
KubeVirt 201 How to Using the GPU
by
VirtualTech Japan Inc.
30 slides
18.9K views
KubeVirt 101
by
VirtualTech Japan Inc.
35 slides
19.1K views
今からはじめる! Linuxコマンド入門
by
VirtualTech Japan Inc.
50 slides
19.7K views
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
by
VirtualTech Japan Inc.
52 slides
2.1K views
Kubernetes雑にまとめてみた 2020年8月版
by
VirtualTech Japan Inc.
34 slides
3.9K views
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
by
VirtualTech Japan Inc.
3 slides
2.2K views
5G時代のアプリケーション開発とは
by
VirtualTech Japan Inc.
26 slides
1.5K views
hbstudy#88 5G+MEC時代のシステム設計
by
VirtualTech Japan Inc.
73 slides
3.8K views
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
by
VirtualTech Japan Inc.
9 slides
689 views
Kubernetes雑にまとめてみた 2019年12月版
by
VirtualTech Japan Inc.
30 slides
3.6K views
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
by
VirtualTech Japan Inc.
30 slides
4.3K views
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
by
VirtualTech Japan Inc.
12 slides
1.2K views
KubeCon China & MWC Shangai 出張報告
by
VirtualTech Japan Inc.
21 slides
635 views
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
by
VirtualTech Japan Inc.
42 slides
4.8K views
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
by
VirtualTech Japan Inc.
42 slides
2.3K views
Multi-access Edge Computing(MEC)における”Edge”の定義
by
VirtualTech Japan Inc.
6 slides
1.9K views
Edge Computing Architecture using GPUs and Kubernetes
by
VirtualTech Japan Inc.
47 slides
3.8K views
OpenStack Summit & KubeConからみるコンテナ技術の最新トレンド (更新版) - OpenStack Day Tokyo 2018講演資料
by
VirtualTech Japan Inc.
50 slides
836 views
Docker超入門
1.
Docker 超入門 v18.09 対応版 日本仮想化技術株式会社
2.
前提要件 • Docker CE
18.09以降のバージョン • Managementコマンドを使う • Docker Compose 1.24.1以降のバージョン 2
3.
色々なDocker • Docker Engine •
dockerコマンドで色々するそれ • Docker Compose • アプリケーションの展開 • Docker Machine • Docker Engineをセットアップ • Docker Swarm • クラスター構成するときに使う 3 青字のコンポーネントが対象
4.
Dockerの概要 4
5.
Dockerとは • 「コンテナー」と呼ばれるOSレベルの仮想化環境を提供する もの • 利点はハイパーバイザー型仮想化ソフトウェアと比べて 1.
すぐ使い始めることができる 2. 起動が速い 3. 異なる環境で動かすのが容易である 5
6.
「仮想マシン」との比較 6 カーネル ハイパーバイザー OS アプリ カーネル Docker Engine OS アプリ OS アプリ OS アプリ カーネル OS アプリ カーネル OS アプリ カーネル ハードウェア ハードウェア 仮想化の場合
Dockerの場合 カーネルは ホストと共存カーネルは ホストと独立
7.
すぐ使い始めることができる 1. ハイパーバイザーのインストール 2. 仮想マシンの作成 3.
仮想マシンにOSのインストール 4. アプリケーション実行環境のインスト ール 5. アプリケーションの配備 6. コンテンツの配備 1. Dockerのインストール 2. アプリケーションを動かすためのイメ ージを使ってコンテナーを作成 3. コンテンツの配備 7 仮想化の場合 Dockerの場合 NGINX、Apache2、 Node.js、Python、Ruby、 PHP Golang、Java etc...
8.
起動が速い • インストール済の状態 • 仮想マシンを起動 •
だいたい10秒 • イメージインポート済の状態 • コンテナーを作成 • だいたい1秒 8 仮想化の場合 Dockerの場合
9.
異なる環境で動かすのが容易 • マシンのアーキテクチャーは考慮が必要(amd64、arm64) • Aの環境で動いたものをBで動かすといったことはだいたい可能 9 カーネル Docker
Engine カーネル Docker Engine OS アプリ ハードウェア ハードウェア ホストA ホストB OS アプリ
10.
Dockerの使いかた 10
11.
Docker Engineの種類 • ディストリビューション標準のDockerパッケージ •
aptやyum、snapコマンドなどですぐインストール可能 • バージョンが古い(もしくは提供されていない)場合がある • Docker CE • 無料で使えるコミュニティー版 • Docker EE • 商用向け。有料 11
12.
Dockerのインストール • CentOS 7
/ Fedoraの場合 • sudo yum install docker • sudo systemctl start docker • sudo systemctl enable docker • Ubuntu / Debianの場合 • sudo apt update • sudo apt install docker.io 12 ディストリビューション版 パッケージを使う場合
13.
Docker利用の基本 • イメージを検索(search) • イメージを取り込む(pull) •
イメージを使ってコンテナーを作成する(run) • コンテナーをセットアップ • 動かしたいアプリケーションを配置 • 適宜環境を修正(インストール&設定) • コンテナーの上でアプリケーションが動く 13
14.
Dockerコンテナーの検索 • 「docker search
〜」コマンドでコンテナーイメージを検索できる • docker search centos • docker search ubuntu • 「-f」オプションでフィルターできる • 例えばオフィシャルイメージのみ表示するとか • docker search centos -f is-official=true 14
15.
Dockerイメージとセキュリティ • Dockerのイメージは色々なユーザーが公開している • セキュリティ的な穴があるかも? •
脆弱性とかキーロガーとか • 基本的にはDocker Certifiedもしくはオフィシャルイメージを使う • かつメンテナンスがしっかりしているものを利用する • 自動ビルドイメージだとなお良し • 人の手によって作成されていない • イメージの透明性 15
16.
Dockerとroot権限 • デフォルトはdockerコマンドはrootユーザーしか許可されていない • ユーザーをdockerグループに追加するとsudoが不要になる •
sudo gpasswd -a $USER docker • ただ、上の設定の実行はあまりオススメしない • sudo docker 〜 • sudo -iを実行してからdockerコマンドを利用 16
17.
Dockerイメージのおすすめ • busybox • 一通りのコマンドが入っている •
テスト用およびベースイメージとして使うなど • alpine • 軽量かつパッケージ管理ツールでカスタム可能 • 他のイメージのalpineイメージもおすすめ • debian:stable-slim • slimつきイメージはサイズが小さい(約1/2) 17 Ubuntu、CentOS、Debian など色々イメージがある。 hub.docker.comで検索できる
18.
Dockerコンテナータグの検索 • 「docker search」コマンドではタグ(バージョン)までは確認できない •
例えばCentOS 7とか、6とか • curlで頑張るか、ブラウザーでDocker hubを検索 • ex1: curl -s https://registry.hub.docker.com/v1/repositories/centos/tags | sed "s/,/¥n/g" | grep name | cut -d '"' -f 4 • ex2: curl -s https://registry.hub.docker.com/v1/repositories/centos/tags | jq 18 要 GNU sed 要 jq
19.
Dockerコンテナーの作成 • 「docker container
run」で新規作成 • 基本 • docker container run --name=cont1 -it busybox sh • 実行して結果を出力したらコンテナーを削除(使い切りコンテナー) • docker container run --name=cont2 --rm -it busybox ping -c3 9.9.9.9 • 起動を継続(デーモンとして実行)するコンテナー • docker container run --name=cont3 -d -it busybox sh 19
20.
docker container run補足 •
アプリケーションによって指定するオプションは異なる • 基本の使いかたはこんな感じ • コンテナー名を指定しない場合はランダム 20 docker container run -it--name=cont1 sh コンテナを作成 する場合 対話モード (Interactive) ttyを開く コンテナ名 コマンド busybox Docker イメージ
21.
作成したコンテナー一覧の表示 • 「docker container
ls」で実行中のコンテナーを表示 • 「docker container ls -a」で存在するコンテナーを表示 • cont2は使い切りコンテナーとして作成したので一覧にはない 21
22.
Dockerコンテナーにアクセス • 「docker container
exec」コマンドで指定したコンテナーに入る • 「docker container ls」で該当のコンテナーを検索 • コマンド「docker container exec -it cont1 sh」のように実行してコ ンテナーにアクセス 22
23.
docker container exec
補足 • 「docker container run」した時のオプションを指定する 23 docker container exec -it cont1 sh コンテナにアクセス する場合 対話モード ttyを開く コンテナ名 コマンド
24.
Dockerコンテナーを再開 • 終了状態のコンテナーは再利用(起動)可能 • コマンドとして「docker
container start cont1」のように実行 24
25.
Dockerコンテナーを停止 • 実行状態のコンテナーは停止可能 • コマンドとして「docker
container stop cont1」のように実行 25
26.
コンテナーでサービスを起動 • 例えばWebサーバーを実行するには • docker
container run --name=cont4 -d -p 8080:80 -it httpd:alpine • http://localhost:8080 でコンテナーの80ポートを使っているWebサー バーにアクセス可能 26
27.
コンテナーを削除 • いらなくなったコンテナーはrmオプションで削除可能 • コンテナーを削除する前に停止が必要 •
コマンド実行例 • 「docker container stop cont1」で停止 • 「docker container rm cont1」で削除 • 「--force」オプションも使える • docker container rm cont1 --force 27
28.
コンテナーイメージを削除 • いらなくなったコンテナーイメージは削除可能 • コマンド実行例 •
「docker image ls」でイメージ一覧を出して • 「docker image rm centos:7」でイメージを消す 28
29.
Docker応用編 29
30.
ディレクトリーをマウントして起動 • データを永続化したい時の手段の一つ • -vオプションでコンテナーにローカルディレクトリーをマウント可能 •
-wオプションでカレントディレクトリーを指定可能 • ローカルのディレクトリーのほか、NFS、iSCSI、FCなどのボリューム をコンテナーにマウントも可能 • 「Docker Volume Plugins」で検索してみよう 30
31.
ディレクトリーのマウント実行例 • ローカルディレクトリーをコンテナーの/root/workにマウント • docker
container run -v /root/work:/root/work -w /root/work - it python:3.6-slim bash • データボリュームコンテナーを作って別のコンテナーで利用 • docker container run -it -d -v /data --name datavol busybox • docker container run -it --volumes-from datavol --name test centos:7 bash 31 カレントディレク トリーを指定
32.
カスタムイメージ作成 • Dockerイメージは好きなようにカスタマイズして使える • docker
container commit • 作成したコンテナーをイメージに変換 • docker image build • dockerfileに記述した通りのイメージを作る 32
33.
docker container commitでイメージ化 •
CentOS7 + Webサーバーコンテナーをイメージとしてコミット • docker container run --privileged --name=cont1 -it centos:7 bash • yum install -y httpd && exit • docker container commit cont1 httpd-template 33 特権モード
34.
docker container commitイメージを使う •
コミットしたイメージでWebサーバーを動かす例 • docker container run --privileged -d -p 50080:80 --name cont2 httpd-template:latest /sbin/init • docker container exec -it cont2 bash -c "systemctl start httpd" • curl http://localhost:50080 34
35.
docker image buildによるイメージ生成 •
作成したいコンテナーイメージはdockerfileに記述する • インストールしたいパッケージ • 設定 • 起動するプロセス • ファイルコピー etc... 35
36.
docker image build実行例 •
docker image build --compress -t apache:latest -f dockerfile- apache . • docker container run --privileged -d --name=cont1 -p 58080:80 -it apache:latest • curl http://localhost:58080 36 FROM centos:7 RUN yum install -y httpd && ¥ yum clean all && ¥ systemctl enable httpd.service CMD /sbin/init EXPOSE 80 dockerfile-apache 最後にドットをつける
37.
イメージ作成のHowto • Alpineイメージを使うと軽量化できる • 例えばPython3のイメージ 37
38.
カスタムイメージの登録 • Docker Hubにカスタムイメージを登録できます。 •
アカウントを作成(無料)します • 作成したイメージをアップロード • Gitにdockerfileを置いて、イメージの自動ビルドも可能 • 利用方法は「Docker Hub イメージ登録」などで検索 • https://docs.docker.com/docker-hub/ 38
39.
ローカルリポジトリーの作成と利用 • Docker Hubに「Docker
Registry」イメージがある • https://hub.docker.com/_/registry • http://docs.docker.jp/registry/toc.html • これを使うと独自のDockerリポジトリーを立ち上げられる • 繰り返し使うイメージのキャッシュ • 非公開にしたいイメージの管理 • 常時オンラインではない環境での利用 39
40.
Docker Composeとは • アプリケーションコンテナー作成を自動化するDockerのツール •
環境構築を自動化 • 構築、停止、再構築が自由自在 • 冪等性 • サービスの状態を表示 • ログ出力 40 OS MySQL Webサーバー WordPressサイト
41.
docker-composeのインストール • 方法はいくつかある • yumやaptなどを使ってパッケージをインストール •
Pythonモジュールを使う • バイナリーをGitHubからダウンロードして展開 41
42.
Docker Composeの使いかた概要 • プロジェクトディレクトリーを作成 •
「docker-compose.yml」を作成して記述 • 「docker-compose up -d」で構築開始 • YAMLの内容に沿ってアプリケーションをデプロイ • 「docker-compose logs」でログを確認 • 「docker-compose down」でアプリケーションを削除 42
43.
YAML記述例 version: '2' services: db: image: mysql:5.7 volumes: -
"./.data/db:/var/lib/mysql" restart: always environment: MYSQL_ROOT_PASSWORD: wordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest links: - db ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_PASSWORD: wordpress 43 MySQLとWebサーバーをデプロイし ている。わかりやすい
44.
Docker Compose実行例 # tree
docker-compose/ docker-compose/ └── docker-compose.yml ←デプロイするアプリケーションを定義したYAMLファイル 0 directories, 1 file # docker-compose up -d ←デプロイ実行 # docker-compose ps Name Command State Ports ------------------------------------------------------------------------------------------ docker-compose_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp docker-compose_wordpress_1 docker-entrypoint.sh apach ... Up 0.0.0.0:8000->80/tcp # docker-compose down ←アプリケーションの終了 44
45.
少々待てばデプロイ完了 45
46.
まとめ • Dockerは便利ですね • シングルホストでDockerを活用するのは簡単 •
マルチホストでは?...例えば • Docker Swarm • Kubernetes • Rancher 46
Editor's Notes
#2
PowerPoint版
#3
https://hub.docker.com/search/?type=edition&offering=community
#37
円マークではなくバックスラッシュ