1. ホーム
  2. ドッカー

様々なDockerディレクトリの役割

2022-03-03 21:41:51
<パス

ホストのパーティションマウントを確認する

[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/centos-root 52403200 26388668 26014532 51% /
devtmpfs 1923288 0 1923288 0% /dev
tmpfs 1933472 0 1933472 0% /dev/shm
tmpfs 1933472 17200 1916272 1% /run
tmpfs 1933472 0 1933472 0% /sys/fs/cgroup
/dev/mapper/centos-home 47760604 32928 47727676 1% /home
/dev/sda1 508588 155828 352760 31% /boot
tmpfs 386696 0 386696 0% /run/user/0

2つのコンテナを同時に実行し、一方は busybox イメージに基づくものと ubuntu ミラー

[root@localhost /]# docker run -it busybox /bin/sh
[root@localhost ~]# docker run -it ubuntu /bin/bash

2つのコンテナが動作しているのがわかります。

[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
29f3173876a6 busybox "/bin/sh" 20 seconds ago Up 18 seconds agitated_jones
720a3161bf18 ubuntu "/bin/bash" 3 minutes ago Up 3 minutes wizardly_khorana

パーティションマウントをもう一度見るには。

[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/centos-root 52403200 26388668 26014532 51% /
devtmpfs 1923288 0 1923288 0% /dev
tmpfs 1933472 0 1933472 0% /dev/shm
tmpfs 1933472 17200 1916272 1% /run
tmpfs 1933472 0 1933472 0% /sys/fs/cgroup
/dev/mapper/centos-home 47760604 32928 47727676 1% /home
/dev/sda1 508588 155828 352760 31% /boot
tmpfs 386696 0 386696 0% /run/user/0
/dev/dm-4 10474496 34660 10439836 1% /var/lib/docker/devicemapper/mnt/2b35dda0f86ac7d4700621892343a498ea9ff8eb2ca9bcc2599456de997258a3
shm 65536 0 65536 0% /var/lib/docker/containers/a18d392e6d01cb7ab9dfcf728a1cd50fd1b4db087a9c3b3373db7f37d594f35a/shm
/dev/dm-5 10474496 141224 10333272 2% /var/lib/docker/devicemapper/mnt/5ea73d5812e830cf15918fecec87e4119ade209c7af9342dca60f86d67d3ab4f
shm 65536 0 65536 0% /var/lib/docker/containers/720a3161bf18a175136a25c065b97f045e481dd5ee46d4288ea08a58e4205f3d/shm

の後ろに4つのパーティションが追加されていることがわかります。 /dev/dm-4 /dev/dm-5 はそれぞれ2つのコンテナのファイルシステムに対応する。 tree コマンドを実行すると、2つのマウントポイントのディレクトリ構造を見ることができます。

[root@localhost ~]# tree -L 2 /var/lib/docker/devicemapper/mnt/5ea73d5812e830cf15918fecec87e4119ade209c7af9342dca60f86d67d3ab4f
/var/lib/docker/devicemapper/mnt/5ea73d5812e830cf15918fecec87e4119ade209c7af9342dca60f86d67d3ab4f
├── id
└── rootfs
    ├─ bin
    ├── boot
    ├── dev
    ├─etc
    ├─ home
    ├─ lib
    ├─ lib64
    ├─ media
    ├─ mnt
    ├─ opt
    ├─ proc
    ├─ root
    ├─ run
    ├─ sbin
    ├─ srv
    ├─ sys
    ├─ tmp
    ├─ usr
    └─ var

20 directories, 1 file
[root@localhost ~]# tree -L 2 /var/lib/docker/devicemapper/mnt/2b35dda0f86ac7d4700621892343a498ea9ff8eb2ca9bcc2599456de997258a3
/var/lib/docker/devicemapper/mnt/2b35dda0f86ac7d4700621892343a498ea9ff8eb2ca9bcc2599456de997258a3
    ├── id
    └── rootfs
        ├─ bin
        ├── dev
        ├─etc
        ├─ home
        ├─ proc
        ├─ root
        ├─ sys
        ├─ tmp
        ├─ usr
        └─ var

    11 directories, 1 file

ご覧のように、2つのディレクトリには、2つのコンテナに対応するルートファイルシステムノードが格納されています。

この時点で、別のコンテナベースのイメージを実行します。 busybox を表示し、再度パーティションを見てください。

[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/centos-root 52403200 26388668 26014532 51% /
devtmpfs 1923288 0 1923288 0% /dev
tmpfs 1933472 0 1933472 0% /dev/shm
tmpfs 1933472 17200 1916272 1% /run
tmpfs 1933472 0 1933472 0% /sys/fs/cgroup
/dev/mapper/centos-home 47760604 32928 47727676 1% /home
/dev/sda1 508588 155828 352760 31% /boot
tmpfs 386696 0 386696 0% /run/user/0
/dev/dm-4 10474496 34660 10439836 1% /var/lib/docker/devicemapper/mnt/2b35dda0f86ac7d4700621892343a498ea9ff8eb2ca9bcc2599456de997258a3
shm 65536 0 65536 0% /var/lib/docker/containers/a18d392e6d01cb7ab9dfcf728a1cd50fd1b4db087a9c3b3373db7f37d594f35a/shm
/dev/dm-5 10474496 141224 10333272 2% /var/lib/docker/devicemapper/mnt/5ea73d5812e830cf15918fecec87e4119ade209c7af9342dca60f86d67d3ab4f
shm 65536 0 65536 0% /var/lib/docker/containers/720a3161bf18a175136a25c065b97f045e481dd5ee46d4288ea08a58e4205f3d/shm
/dev/dm-6 10474496 34660 10439836 1% /var/lib/docker/devicemapper/mnt/e5cb5359515b967a6af0a8e115ed343b8bc8c3df3f22645e0d3c8bd9de81851c
shm 65536 0 65536 0% /var/lib/docker/containers/29f3173876a6660ae495d15a28094e60f6a96106be483a4ad4ed39c4af29044b/shm


ご覧のように、さらに 2 つのパーティションが作成されているため、コンテナを起動するたびにパーティションが作成され、対応するコンテナ ID にちなんで名付けられたディレクトリにマウントされます。 rootfs は、そのコンテナ内の対応するシステムのルートマウントポイントです。

[root@localhost ~]# tree -L 2 /var/lib/docker/devicemapper/mnt/e5cb5359515b967a6af0a8e115ed343b8bc8c3df3f22645e0d3c8bd9de81851c
/var/lib/docker/devicemapper/mnt/e5cb5359515b967a6af0a8e115ed343b8bc8c3df3f22645e0d3c8bd9de81851c
├── id
└── rootfs
    ├─ bin
    ├─ dev
    ├─etc
    ├─ home
    ├─ mnt
    ├─ proc
    ├─ root
    ├─ sys
    ├─ tmp
    ├─ usr
    └─ var

12 directories, 1 file