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
HommasSlide
PDF, PPTX
15,084 views
Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのファイルシステムやマウント方法について記載しています。 またデータボリュームのマウントについて記載し、データの永続化についても記載しています。
Software
◦
Read more
26
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 27
2
/ 27
3
/ 27
4
/ 27
5
/ 27
6
/ 27
7
/ 27
8
/ 27
9
/ 27
10
/ 27
11
/ 27
12
/ 27
Most read
13
/ 27
14
/ 27
Most read
15
/ 27
16
/ 27
17
/ 27
18
/ 27
19
/ 27
20
/ 27
21
/ 27
22
/ 27
23
/ 27
Most read
24
/ 27
25
/ 27
26
/ 27
27
/ 27
More Related Content
PDF
Dockerイメージ管理の内部構造
by
Etsuji Nakai
PPTX
Docker調査20150704
by
HommasSlide
PDF
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
by
Masahito Zembutsu
PDF
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
by
Shuji Yamada
PDF
爆速プレビュープロキシ pool
by
mookjp
PDF
Docker volume基礎/Project Longhorn紹介
by
Masahito Zembutsu
PDF
Dockerイメージ構築 実践テクニック
by
Emma Haruka Iwao
PDF
Docker hands on nifty sakura jul19
by
Masahito Zembutsu
Dockerイメージ管理の内部構造
by
Etsuji Nakai
Docker調査20150704
by
HommasSlide
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
by
Masahito Zembutsu
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
by
Shuji Yamada
爆速プレビュープロキシ pool
by
mookjp
Docker volume基礎/Project Longhorn紹介
by
Masahito Zembutsu
Dockerイメージ構築 実践テクニック
by
Emma Haruka Iwao
Docker hands on nifty sakura jul19
by
Masahito Zembutsu
What's hot
PDF
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
by
Masahito Zembutsu
PDF
DockerでWordPressサイトを開発してみよう
by
mookjp
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
by
Kunihiro TANAKA
PDF
Docker入門
by
Shiojiri Ohhara
PDF
CentOS Linux 8 の EOL と対応策の検討
by
Masahito Zembutsu
PDF
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
by
Masahito Zembutsu
PDF
Docker最新動向2017秋+セキュリティの落とし穴
by
Masahito Zembutsu
PDF
Docker 9 tips~意外と知られていない日常で役立つ便利技
by
Masahito Zembutsu
PDF
Docker Compose 徹底解説
by
Masahito Zembutsu
PDF
Dockerクイックツアー
by
Etsuji Nakai
PDF
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
PDF
JAWS-UG コンテナ支部 Docker入門 ハンズオン
by
Ryo Nakamaru
PDF
Docker技術情報アップデート 2015年7月号
by
Masahito Zembutsu
PDF
Docker with RHEL7 技術勉強会
by
Etsuji Nakai
PDF
8a1#19[はじめてのdocker] 公開版
by
Kamon Nobuchika
PDF
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
by
Emma Haruka Iwao
PDF
Docker Swarm モード にゅうもん
by
Masahito Zembutsu
PPTX
Docker Tokyo
by
cyberblack28 Ichikawa
PDF
あの日実行したコンテナの名前を僕達はまだ知らない。
by
Masahito Zembutsu
PDF
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
by
Masahito Zembutsu
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
by
Masahito Zembutsu
DockerでWordPressサイトを開発してみよう
by
mookjp
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
by
Kunihiro TANAKA
Docker入門
by
Shiojiri Ohhara
CentOS Linux 8 の EOL と対応策の検討
by
Masahito Zembutsu
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
by
Masahito Zembutsu
Docker最新動向2017秋+セキュリティの落とし穴
by
Masahito Zembutsu
Docker 9 tips~意外と知られていない日常で役立つ便利技
by
Masahito Zembutsu
Docker Compose 徹底解説
by
Masahito Zembutsu
Dockerクイックツアー
by
Etsuji Nakai
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
JAWS-UG コンテナ支部 Docker入門 ハンズオン
by
Ryo Nakamaru
Docker技術情報アップデート 2015年7月号
by
Masahito Zembutsu
Docker with RHEL7 技術勉強会
by
Etsuji Nakai
8a1#19[はじめてのdocker] 公開版
by
Kamon Nobuchika
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
by
Emma Haruka Iwao
Docker Swarm モード にゅうもん
by
Masahito Zembutsu
Docker Tokyo
by
cyberblack28 Ichikawa
あの日実行したコンテナの名前を僕達はまだ知らない。
by
Masahito Zembutsu
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
by
Masahito Zembutsu
Similar to Dockerのディスクについて ~ファイルシステム・マウント方法など~
PDF
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
by
Naoki Nagazumi
PDF
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
by
Masahiro Nagano
PDF
VagrantユーザのためのDocker入門
by
Masashi Shinbara
PDF
Dockerで開発環境をデリバる
by
Daigou Harada
PDF
Docker handson
by
koda3
PPTX
Docker勉強会
by
namikikazuma
PDF
Dockerの仕組みとIIJ社内での利用例
by
maebashi
PDF
DockerとDocker Hubの操作と概念
by
Masahito Zembutsu
PDF
Dockerハンズオン
by
Kon Yuichi
PDF
Docker事始めと最新動向 2015年6月
by
Emma Haruka Iwao
PDF
Docker社内勉強会
by
osamu_takezawa
PPTX
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
by
Preferred Networks
PDF
ちょっとOverlayfsの実装、読んでみました(A brief report of overlayfs source code reading)
by
Fumiyuki Yoshida
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
by
Yuichi Ito
PDF
Dockerでらくらく開発・運用を体感しよう
by
Takashi Makino
PPTX
はじめてのDockerパーフェクトガイド(2017年版)
by
Hiroshi Hayakawa
PDF
Dockerイメージの理解とコンテナのライフサイクル
by
Masahito Zembutsu
PPTX
Docker & Kubernetes基礎
by
Daisuke Hiraoka
PDF
Dockerハンズオン
by
Kazuyuki Mori
PPTX
Docker入門 OSC 2018 Tokyo/Spring
by
cyberblack28 Ichikawa
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
by
Naoki Nagazumi
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
by
Masahiro Nagano
VagrantユーザのためのDocker入門
by
Masashi Shinbara
Dockerで開発環境をデリバる
by
Daigou Harada
Docker handson
by
koda3
Docker勉強会
by
namikikazuma
Dockerの仕組みとIIJ社内での利用例
by
maebashi
DockerとDocker Hubの操作と概念
by
Masahito Zembutsu
Dockerハンズオン
by
Kon Yuichi
Docker事始めと最新動向 2015年6月
by
Emma Haruka Iwao
Docker社内勉強会
by
osamu_takezawa
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
by
Preferred Networks
ちょっとOverlayfsの実装、読んでみました(A brief report of overlayfs source code reading)
by
Fumiyuki Yoshida
Docker入門: コンテナ型仮想化技術の仕組みと使い方
by
Yuichi Ito
Dockerでらくらく開発・運用を体感しよう
by
Takashi Makino
はじめてのDockerパーフェクトガイド(2017年版)
by
Hiroshi Hayakawa
Dockerイメージの理解とコンテナのライフサイクル
by
Masahito Zembutsu
Docker & Kubernetes基礎
by
Daisuke Hiraoka
Dockerハンズオン
by
Kazuyuki Mori
Docker入門 OSC 2018 Tokyo/Spring
by
cyberblack28 Ichikawa
Dockerのディスクについて ~ファイルシステム・マウント方法など~
1.
Homma's Slide 2015 Dockerのディスクについて ~ファイルシステム・マウント方法など~ ほんま 2015.09.17 2015.09.20 ※各ページの参考資料を各ページ下にURLを記載しております。 詳細はそのリンクをご確認ください。もっと詳しい内容が記載されています。 主に、RedHat
中井さんのページを参考にさせていただいております。
2.
Homma's Slide 2015 目的 •
Dockerのディスクについて調査&報告します。 – どのようなファイルシステムがあるのか • ファイルシステムについて • 特徴など 2
3.
Homma's Slide 2015 Dockerのファイルシステム •
Dockerのファイルシステムといえば、aufsです。 • というのはかなり古いです。 • 実際は、以下の種類が使用可能です。 – aufs – btrfs – devicemapper – overlayfs – zfs ※aufsは、Fedora、CentOSともにサポートしていません。 3
4.
Homma's Slide 2015 デフォルトファイルシステムは? •
デフォルトのファイルシステムとは? aufsはすでにほとんど使われていません。 理由としては、Linuxカーネルに標準に含まれていないためです。 Linuxカーネルで利用可能にしたのは、devicemapperです。 4 Docker = AUFSという図式はもう忘れたほうがいいかもしれない、あるいはDockerとストレージドライバ の話 http://qiita.com/DQNEO/items/ee0caf80b056487cb762 Linux Distribution Storage Driver CentOS 7 devicemapper Ubuntu 14.04 devicemapper CoreOS overlayfs OSX (boot2docker) aufs
5.
Homma's Slide 2015 DeviceMapperとは? •
Device Mapperは、metadataとdataの2つのディスクで構成さ れます。 • Thin-Provisioning機能があります。 5 metadata data 実際のデータが 保存される データがどこに 保存されているか 2つのディスクで1つのファイルシステムを 構成する 使用した分だけブロックに 分けられ追加されるので、 メタ情報からどこに保存 されているのかを追跡します。 #1 #3 #2 #1 #2 #3 論理デバイス ※使用しない領域は紐づけがない状態で ディスク容量を節約しています。
6.
Homma's Slide 2015 DeviceMapperとLVMとは •
DeviceMapperはLVMを利用します。 – Direct LVM – Loopback LVM と、2つに分けることができます。 • マウントの方法が違います。 6 Loopback LVM direct LVM OS上のディスク data meta data mount = / ディスク上のファ イルをループバッ クデバイスとして LVMでマウントしま す。 OSディスク device mapper用 ディスク(VG) 別のディスクや 残りのディスク スペースを使って ボリュームグルー プ(VG)を作成しま す。 meta data data ※VGをdata、metadataの2つのLVを作成します。 OpenStackで CinderをLVMで利用した 場合と同じです。 Dockerのデフォルト はこちらです。
7.
Homma's Slide 2015 Loopback
LVMのメリット・デメリット • ループバックデバイスとしてファイルを利用していますが、こ のファイルはrawイメージ(パース)となります。 7 # qemu-img info /var/lib/docker/devicemapper/devicemapper/data image: /var/lib/docker/devicemapper/devicemapper/data file format: raw virtual size: 100G (107374182400 bytes) disk size: 292M # qemu-img info /var/lib/docker/devicemapper/devicemapper/metadata image: /var/lib/docker/devicemapper/devicemapper/metadata file format: raw virtual size: 2.0G (2147483648 bytes) disk size: 744K 仮想ディスクサイズと、物理ディスクのサイズが違います。 必要な時に必要なサイズを用意します。ディスクが節約できますが、 利用時には、ディスクの割り当て作業が発生します。 つまり、時間がかかります。
8.
Homma's Slide 2015 DeviceMapperの仕組み 8 ①
Dockerサービス初回起動時 10Gディスク LVMのdata上に10Gのディスクを作成します。 サイズを変更するには、Dockerサービスを起動する 前に、「--storage-opt dm.basesize=50G」を指定する 必要があります。 ② Dockerイメージをダウンロードする Dockerイメージ管理の内部構造 http://www.slideshare.net/enakai/docker-43975886/13 10Gディスク docker イメージ 最初に作成したディスクからスナップショット を作成し、ダウンロードしたdockerイメージを 解凍&展開します。 ※初回起動時にはこのようなコマンドが実行されています。 mkfs.ext4 -E nodiscard,lazy_itable_init=0,lazy_journal_init=0 10Gディスク スナップショット ※スナップショットの仕組みを使用して いるので、高速に用意できます。 ※実際にコピーしているわけではありません。
9.
Homma's Slide 2015 DeviceMapperのスナップショットとは •
高速にスナップショット(複製)ができます。 9 data領域 #1 #2 #1 #2 論理デバイス Dockerイメージ管理の内部構造 http://www.slideshare.net/enakai/docker-43975886/18 スナップショット (複製) #1 #2 論理デバイス ※データをコピーするのではなく、参照先リストを作成するというイメージです。 ※同じデータは複製されないので、ディスクの節約にもつながります。 → これはDockerイメージがレイヤー構成をとっていることで このような仕組みになっています。 書き込みすると #1 #2 論理デバイス #3 #3 追加分が書き込みされる。
10.
Homma's Slide 2015 OverlayFSとは? •
OverlayFSとは – lowerdir:基盤となるディレクトリ – upperdir:基盤状に重ねるディレクトリ で構成され、以下のようなイメージです。 10 lowdir: updir: /etc /usr /bin /dev /dev hostname hostname readme upperfile 実際に見える ディスク: /etc /usr /bin /dev hostname readmeupperfile 上から見えるファイルが 実際のディスクになります。
11.
Homma's Slide 2015 overlayfsを使ったコンテナ 11 lowerdir=/var/lib/docker/overlay/7322fbe74aa5632b33a400959867c8ac4290e9c5112877a7754be70cfe5d66e9/root upperdir=/var/lib/docker/overlay/89803bc3844b59b8a5c1c437a2e1ff90f07b35baee14aa46f328ae1441eebe71/upper workdir=/var/lib/docker/overlay/89803bc3844b59b8a5c1c437a2e1ff90f07b35baee14aa46f328ae1441eebe71/work dockerのマウント情報を見ると、このようにマウントしています。 /var/lib/docker/overlay/以下にイメージがあります。 ディレクトリ
イメージ内容 lowerdir コンテナ起動時に利用したイメージです 322fbe74aa5632b33a40095…のIDは、CentOSのイメージIDです upperdir コンテナように割り当てられた上書き用のディスクです 89803bc3844b59b8a5c1c43…は起動したコンテナIDです 起動時にはコンテナ固有の設定が保存されています。 /etc/hosts /etc/resolv.conf ※SELinuxが対応していないので、SELinuxは無効かしておく必要があります。
12.
Homma's Slide 2015 overlayfsの速度向上の仕組み① •
overlayfsは、Linuxのファイルキャッシュを利用し、ファイルの 読み込み速度の高速化を図っています。 12 # docker history 0f73ae75014f IMAGE CREATED CREATED BY SIZE 0f73ae75014f 11 days ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B f37e6a610a37 11 days ago /bin/sh -c #(nop) LABEL License=GPLv2 0 B f9a8cbc8dd13 11 days ago /bin/sh -c #(nop) LABEL Vendor=CentOS 0 B f6f39725d938 11 days ago /bin/sh -c #(nop) ADD file:2c002b8a427ce98fc1 172.3 MB 47d44cb6f252 11 days ago /bin/sh -c #(nop) MAINTAINER The CentOS Proje 0 B 例えば、CentOSのイメージを更新履歴を見たものです。 それぞれのイメージの/bin/bashを見ています。 # ls -ali overlay/f6f39725d938../root/bin/bash 134607633 -rwxr-xr-x. 4 root root 960384 3月 6 2015 overlay/f6f39725d938../root/bin/bash # ls -ali overlay/f37e6a610a37../root/bin/bash 134607633 -rwxr-xr-x. 4 root root 960384 3月 6 2015 overlay/f37e6a610a37../root/bin/bash # ls -ali overlay/0f73ae75014f../root/bin/bash 134607633 -rwxr-xr-x. 4 root root 960384 3月 6 2015 overlay/0f73ae75014f../root/bin/bash 先頭の番号(i-node番号)が同じです。ファイルをハードリンクしています。 実体は同じなので、 1度読めば次はファイルキャッシュから再利用可能です。
13.
Homma's Slide 2015 overlayfsの速度向上の仕組み② •
もちろん、コンテナ内部もi-node番号が同じになります。 13 [root@00b9ae2f38ba /]# ls -ali /bin/bash 134607633 -rwxr-xr-x. 4 root root 960384 Mar 5 2015 /bin/bash # ls -ali overlay/f6f39725d938../root/bin/bash 134607633 -rwxr-xr-x. 4 root root 960384 3月 6 2015 overlay/f6f39725d938../root/bin/bash # ls -ali overlay/f37e6a610a37../root/bin/bash 134607633 -rwxr-xr-x. 4 root root 960384 3月 6 2015 overlay/f37e6a610a37../root/bin/bash # ls -ali overlay/0f73ae75014f../root/bin/bash 134607633 -rwxr-xr-x. 4 root root 960384 3月 6 2015 overlay/0f73ae75014f../root/bin/bash コンテナ内でlsした結果です。 ホスト上のイメージごとのlsした結果です すべてi-nodeが同じですよね。 コンテナを同時・大量に起動する場合、1度読み込むことでファイルキャッシュが 行われ、次から起動するときにはこのキャッシュを利用することができるので 高速起動が可能になります。
14.
Homma's Slide 2015 overlayfsでのディスク使用制限 •
overlayfsで/(ルート)がマウントされています。サイズはホスト上 のディスクサイズと同じです。 • DeviceMapperを利用する場合は/(ルート)は、デフォルトでは 10G(初回のみ設定変更可能)で、ホストとは共有していません。 • overlayfsの場合は制限がないので、運用上注意が必要です。 (/var/lib/docker/overlay/を別ディスクにするなど) 14 # df -h Filesystem Size Used Avail Use% Mounted on overlay 50G 1.9G 49G 4% / tmpfs 2.0G 0 2.0G 0% /dev shm 64M 0 64M 0% /dev/shm tmpfs 2.0G 0 2.0G 0% /run/secrets /dev/mapper/centos-root 50G 1.9G 49G 4% /etc/hosts tmpfs 2.0G 0 2.0G 0% /proc/kcore tmpfs 2.0G 0 2.0G 0% /proc/timer_stats
15.
Homma's Slide 2015 ファイルシステムの性能 •
ファイルシステムの性能は以下のようになっています。 15 Comprehensive Overview of Storage Scalability in Docker http://developerblog.redhat.com/2014/09/30/overview-storage-scalability-docker/ overlayfsが一番性能がよく、 directLVMが次の性能がよい。 コンテナを1000個作成し、 終了するまでに要する時間
16.
Homma's Slide 2015 コンテナの生存 16 docker
run 時間 コマンド プロセス コンテナ環境 (ネットワークなど) コンテナ イメージ docker run で /bin/bashを実行した場合は、 ※「-rm」フラグを付けていない場合 コンテナ内で exitします ※プロセスは終了すると プロセスおよびコンテナは終了します ←終了してもイメージは 削除されません。 docker start ←コンテナを再スタートすると イメージは変更されずに コンテナ環境を設定し、プロセス が起動します。 docker stop ※docker stopコマンドでも同じに なります。 docker rm ※rmすることでイメージが削除されます。 削除しないとデータは残ったままです。 docker cpコマンドでホスト上に コピーすることが可能です。
17.
Homma's Slide 2015 データを永続化させる方法 起動したコンテナ内部には、永続させたいデータがある場合が あります。 たとえば、 –
データベースのデータ – 処理したログ では、どうすれば、データの永続化ができるのでしょうか。 • データの永続化でしようするのは、「-v」or「--volume」のオプ ションです。 17
18.
Homma's Slide 2015 「-v」オプションには2種類ある •
「-v」オプションには2種類あります。 ① -v (コンテナパス):(読み書きモード) ② -v (ホストパス):(コンテナパス) • 意味合いとしては、以下のようになります。 ① データボリュームの作成 → 新たに作成する ② データボリュームのマウント → 既存をマウントする 18
19.
Homma's Slide 2015 「-v」の違い:①データボリュームの作成 19 ①データボリュームの作成
:「-v (コンテナパス):(読み書きモード)」 /mountvol2 /mountvol1 コンテナのディスク ホストのディスク /var/lib/docker/volume/03503bf0a60a9../_data/ /var/lib/docker/volume/1cffcc92c78762../_data/ マウント 指定したディレクトリと紐づくのは、/var/lib/docker/volume/以下のディレクトリ になります。 volume以下のIDは、volume用に作られたIDで、コンテナIDとは一致しません。 # docker inspect test01 (略) "Volumes": { "/mountvol1": "/var/lib/docker/volumes/03503bf0a60a97f01…/_data", "/mountvol2": "/var/lib/docker/volumes/1cffcc92c787626a5…/_data" }, (略) マウント情報を 管理しています # docker run -it --name test01 -v /mountvol1 -v /mountvol2 centos /bin/bash
20.
Homma's Slide 2015 「-v」の違い:②データボリュームのマウント 20 ②データボリュームのマウント
:「-v (ホストパス):(コンテナパス)」 /log /work コンテナのディスク ホストのディスク /docker/mnt/test02/work/ /docker/mnt/test02/log マウント docker run で指定した引数でマウントされます。 既存のディレクトリをデータとして、コンテナに渡すこともできますし、出力結果 を指定したディレクトリに保存することができます。 # docker inspect test02 (略) "Volumes": { "/log": "/docker/mnt/test02/log", "/work": "/docker/mnt/test02/work“ }, (略) マウント情報を 管理しています # docker run -it --name test02 -v /docker/mnt/test02/work/:/work -v /docker/mnt/test02/log:/log centos /bin/bash
21.
Homma's Slide 2015 データを永続化する方法のまとめ 21 ①データボリュームの作成
:「-v (コンテナパス):(読み書きモード)」 docker rm しても作成したデータボリュームは削除されないので、 /var/lib/docker/volumes/以下を探せば、データを見つけることができます。 docker rm するときに、「-v」のオプションを付けるとデータボリュームも一緒に 削除されます。 ②データボリュームのマウント :「-v (ホストパス):(コンテナパス)」 docker run で指定したディレクトリは残ります。 指定するディレクトリは識別できる名前(例えばコンテナ名など)にしておくと 複数のコンテナを起動してもわからなくなることはありませんね。 ③コンテナを削除する前にバックアップする/コミットする docker cpでコンテナからデータを取り出すことができます。 docker commitで現在のイメージをリポジトリに保存することができます。 commitの方法は、おすすめしません。
22.
Homma's Slide 2015 データの永続化のもう一つの方法 •
データの永続化にはもう一つの方法があります。 データコンテナを利用する方法です。 ①のデータボリュームを作成を利用する方法に近いです。 22 PostgreSQL コンテナ データ コンテナ PostgreSQL/pg/data マウント /var/lib/docker/volume/03503bf0a60a9../_data/ ホスト上では マウント ※この方法では、 あまりホスト上のマウント先を 意識することがなく利用できます。 ユーザはデータコンテナに データが格納されていると 考えればよいです。
23.
Homma's Slide 2015 データ コンテナ データコンテナのメリット •
例として、PostgreSQLがバージョンを更新する場合を考えま しょう。 • 右の方が運用上非常に良いのです。なぜでしょう? 23 PostgreSQL 9.4.0 PostgreSQL 9.4.2 データをミドルウェアと同じコンテナ に格納している場合 データ データ データをミドルウェアと別のコンテナ に格納している場合 PostgreSQL 9.4.0 データ データ コンテナPostgreSQL 9.4.2 データ
24.
Homma's Slide 2015 なぜ? •
大量のPostgreSQLコンテナが動作している場合を考えましょう。 24 PostgreSQL 9.4.0 PostgreSQL 9.4.2 データ データ こちらの運用の場合は、すべてのPostgreSQLがインストール されたコンテナをyum updateをする必要があります。 ①それぞれのコンテナでディスク容量が必要になります。 ②それぞれでバージョン管理が必要です。 データ コンテナPostgreSQL 9.4.0 データ データ コンテナPostgreSQL 9.4.2 データ 更新するのは、PostgreSQLのイメージだけです。 ①イメージを使った起動なのでディスク容量は、不要です。 (イメージとハードリンクしたりして節約される) ②PostgreSQLのバージョンが統一される (latestでコンテナを起動しなせば、すべて同じバージョン) →コンテナの起動は非常に速いので、コンテナらしい 運用方法です。
25.
Homma's Slide 2015 データコンテナのマウント方法 25 #
docker run -v –d /dbdata --name dbdata busybox /bin/sh https://docs.docker.com/userguide/dockervolumes/ ①データコンテナの起動 ※データコンテナと処理コンテナが同じディストリビューション・バージョンで ある必要はないので、軽量なコンテナ(busybox)を利用します。 ②処理コンテナの起動 # docker run -d --volumes-from dbdata --name db1 training/postgres 「--volumes-from」でコンテナを指定することで、指定したコンテナの データボリュームをマウントすることができます。 PostgreSQL コンテナ データ コンテナ PostgreSQL/pg/data マウント
26.
Homma's Slide 2015 データコンテナの注意点 •
データコンテナにマウントされたデータボリュームはコンテナ の管理外になります。 • つまり、docker commitコマンドでコンテナを保存した場合、 データボリュームは保存されません。 • したがって、データコンテナのデータをバックアップする場合 は、docker execコマンドやdocker runで新しいバックアップが 実行されるコンテナの起動などを行います。 26 #docker run --volumes-from dbdata2 -v $(pwd):/backup ubuntu cd /dbdata && tar xvf /backup/backup.tar バックアップ用のコンテナ実行例:
27.
Homma's Slide 2015 まとめ •
ファイルシステム – いろんなファイルシステムが利用できますが、Dockerコンテナでは大 量のコンテナの起動を想定してファイルシステムの向上が行われて います。 – →起動速度が向上するファイルフォーマットに変わりつつあります。 – →また、大量にコンテナを起動した場合でもディスク容量を節約でき るようにもなっています。 • データの永続性 – 「-v」オプションをうまく利用してデータの永続化を図ります。 – 「-v」の利用法は、想定するシステムやコンテナによって使い分けま しょう。 27
Download