LoginSignup
0
0

More than 1 year has passed since last update.

はじめに

前回は、OverlayFSがどういった動きをするのか確認しました。今回は、実際にDockerを触りながら、OverlayFSがどのように使用されているのかを確認します。

コンテナ起動して確認する

ubuntuをベースとしたDockerfileを記述します。

FROM ubuntu:latest

ADD hoge.txt /root/hoge.txt

ADD fuga.txt /root/fuga.txt

必要なファイルを作成し、imageをbuildし、コンテナを起動します。

echo "hoge" > hoge.txt

echo "fuga" > fuga.txt

docker build -t app .

docker run -d -it app /bin/bash

コンテナが立ち上がったら、マウントの状況を確認してみます。

$ mount | grep overlay

overlay on /var/lib/docker/overlay2/9b283e2cf604e5151429b85d6280f1809bbb62cd4c5c6247eeaa81206e11ff7d/merged type overlay (rw,relatime,lowerdir=/var/lib/docker/overlay2/l/TG5CQPGYRSJ6EHYDNF75TXNVO2:/var/lib/docker/overlay2/l/6SAUQGTQ23GRLYH4OQGACI6TRV:/var/lib/docker/overlay2/l/G3M62SSZB7N64I7PDWFZIUM6TL:/var/lib/docker/overlay2/l/XWWSQDBBRW6ND7XXXV3FB5GB2U,upperdir=/var/lib/docker/overlay2/9b283e2cf604e5151429b85d6280f1809bbb62cd4c5c6247eeaa81206e11ff7d/diff,workdir=/var/lib/docker/overlay2/9b283e2cf604e5151429b85d6280f1809bbb62cd4c5c6247eeaa81206e11ff7d/work)

ごちゃごちゃしていますが関係性を図にすると以下のようになります。Dockerfileに記述したように順番にレイヤを積み重ねていき、最終的にmergedとして見せていることが分かります。

├── /var/lib/docker/overlay2/xxx/merged
│    └── root
│           ├── fuga.txt(fuga)
│        └── hoge.txt(hoge)
├── /var/lib/docker/overlay2/xxx/diff
├── /var/lib/docker/overlay2/l/6SAUQGTQ23GRLYH4OQGACI6TRV
│    └── root
│        └── fuga.txt(fuga)
├── /var/lib/docker/overlay2/l/G3M62SSZB7N64I7PDWFZIUM6TL
│    └── root 
│        └── hoge.txt(hoge)
└── /var/lib/docker/overlay2/l/XWWSQDBBRW6ND7XXXV3FB5GB2U
     └── bin  boot  dev	etc  home lib	lib32  lib64  libx32  media  mnt  opt  proc  root  run	sbin  srv  sys	tmp  usr  var

lowerdirオプションで指定されている一番最初のレイヤ(lowerの一番上のレイヤ)は、コンテナかどうか識別したりなど、システム的な用途に使うレイヤで、どのコンテナを立ち上げた際にも存在します。

追記

発展として、docker pushbuildした際の動きなどは以下の記事がとても参考になりました。

さいごに

DockerでOverlayFSがどのように用いられているのか確認しました。次回は、namespaceやcgroupsを使ってコンテナ別のリソース管理について書きたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0