カッティングボード

カルマをカットしてます

/var/lib/dockerの挙動を確認する

/var/lib/docker部分を共有ディスクでストレージ共有した際に,同一ファイルに書き込んだりしないかなーとかを調べてみたりしたかったので,メモ的に書いていきます.

root@ubuntu:/var/lib/docker/overlay2# ls
5133225a2d01506a3a31fb208558bdbfcda5182de2a0183dd68c6ddc736cf167  e8f35bcc06019821c3190d9917fe059ac6c47e171c7b0ba0950265e21605013e
75243b2352cdb55ef1e8b98c120d37e503ee7d1f5fe3efc3d6ebeb4eec926756  ea95fd2b56914016e4accbe69b1bb21e53ee66615a03f1201e7637f649f51951
a7c59acd65ce8d7091098ad19198620c1cf50d330e217849f718816284a1ffc3  l


root@ubuntu:/var/lib/docker/overlay2# docker run -it ubuntu /bin/bash

root@b903986a002a:/# root@ubuntu:/var/lib/docker/overlay2# ls
3345e6390c6335f38522c9b7cc4ba611d9276c22f25e370c01cb23dd0deb5ec0       a7c59acd65ce8d7091098ad19198620c1cf50d330e217849f718816284a1ffc3
3345e6390c6335f38522c9b7cc4ba611d9276c22f25e370c01cb23dd0deb5ec0-init  e8f35bcc06019821c3190d9917fe059ac6c47e171c7b0ba0950265e21605013e
5133225a2d01506a3a31fb208558bdbfcda5182de2a0183dd68c6ddc736cf167       ea95fd2b56914016e4accbe69b1bb21e53ee66615a03f1201e7637f649f51951
75243b2352cdb55ef1e8b98c120d37e503ee7d1f5fe3efc3d6ebeb4eec926756       l

root@ubuntu:/var/lib/docker/overlay2# git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   ../network/files/local-kv.db

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    ../containers/
    ../image/overlay2/layerdb/mounts/
    3345e6390c6335f38522c9b7cc4ba611d9276c22f25e370c01cb23dd0deb5ec0-init/
    3345e6390c6335f38522c9b7cc4ba611d9276c22f25e370c01cb23dd0deb5ec0/
    l/6ZH445PO4LOL7KBTFL3PEHRIRK
    l/B62YZJUAE7JBTIZUZOGIUMHQ52

no changes added to commit (use "git add" and/or "git commit -a")

root@ubuntu:/var/lib/docker/overlay2# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
b903986a002a        ubuntu              "/bin/bash"         2 minutes ago       Up 2 minutes                            focused_murdock
root@ubuntu:/var/lib/docker/overlay2# docker kill b903986a002a
b903986a002a
root@ubuntu:/var/lib/docker/overlay2# docker rm b903986a002a
b903986a002a

root@ubuntu:/var/lib/docker/overlay2# ls
5133225a2d01506a3a31fb208558bdbfcda5182de2a0183dd68c6ddc736cf167  e8f35bcc06019821c3190d9917fe059ac6c47e171c7b0ba0950265e21605013e
75243b2352cdb55ef1e8b98c120d37e503ee7d1f5fe3efc3d6ebeb4eec926756  ea95fd2b56914016e4accbe69b1bb21e53ee66615a03f1201e7637f649f51951
a7c59acd65ce8d7091098ad19198620c1cf50d330e217849f718816284a1ffc3  l


root@ubuntu:/var/lib/docker/overlay2# ps -aux | grep docker
root      4577  0.5  1.2 446600 52132 ?        Ssl  22:04   0:06 /usr/bin/dockerd -H fd://
root      4594  0.0  0.3 226808 14572 ?        Ssl  22:04   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root      5861  0.0  0.0  14224   968 pts/0    S+   22:21   0:00 grep --color=auto docker


root@fcd31fc10b79:/# root@ubuntu:/var/lib/docker/overlay2# ps -aux | grep docker
root      4577  0.5  1.2 446600 51752 ?        Ssl  22:04   0:06 /usr/bin/dockerd -H fd://
root      4594  0.0  0.3 226808 14580 ?        Ssl  22:04   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root      5885  0.0  0.1 141796  5072 ?        Sl   22:21   0:00 docker-containerd-shim fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415 /var/run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415 docker-runc
root      5932  0.0  0.0  14224   980 pts/0    S+   22:21   0:00 grep --color=auto docker


root@ubuntu:/var/lib/docker/overlay2# lsof -p 5885
COMMAND    PID USER   FD      TYPE             DEVICE SIZE/OFF    NODE NAME
docker-co 5885 root  cwd       DIR               0,18      180     574 /run/docker/libcontainerd/containerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init
docker-co 5885 root  rtd       DIR                8,1     4096       2 /
docker-co 5885 root  txt       REG                8,1  2695704  275883 /usr/bin/docker-containerd-shim
docker-co 5885 root  mem       REG                8,1  1868984 1441990 /lib/x86_64-linux-gnu/libc-2.23.so
docker-co 5885 root  mem       REG                8,1   138696 1441968 /lib/x86_64-linux-gnu/libpthread-2.23.so
docker-co 5885 root  mem       REG                8,1   162632 1441959 /lib/x86_64-linux-gnu/ld-2.23.so
docker-co 5885 root    0r      CHR                1,3      0t0       6 /dev/null
docker-co 5885 root    1w      CHR                1,3      0t0       6 /dev/null
docker-co 5885 root    2w      CHR                1,3      0t0       6 /dev/null
docker-co 5885 root    3w      REG               0,18        0     578 /run/docker/libcontainerd/containerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init/shim-log.json
docker-co 5885 root    4w     FIFO               0,18      0t0     576 /run/docker/libcontainerd/containerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init/exit
docker-co 5885 root    5u     FIFO               0,18      0t0     577 /run/docker/libcontainerd/containerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init/control
docker-co 5885 root    6u     FIFO               0,18      0t0     570 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdin
docker-co 5885 root    8u  a_inode               0,11        0    6978 [eventpoll]
docker-co 5885 root    9u     FIFO               0,18      0t0     570 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdin
docker-co 5885 root   10r     FIFO               0,18      0t0     570 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdin
docker-co 5885 root   11u     FIFO               0,18      0t0     571 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdout
docker-co 5885 root   12w     FIFO               0,18      0t0     571 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdout
docker-co 5885 root   13u     FIFO               0,18      0t0     571 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdout
docker-co 5885 root   14r     FIFO               0,18      0t0     571 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdout
docker-co 5885 root   16w     FIFO               0,18      0t0     570 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdin
docker-co 5885 root   17u     unix 0xffff8800ba863000      0t0   31834 /tmp/pty905090592/pty.sock type=STREAM
docker-co 5885 root   18u      CHR                5,2      0t0       2 /dev/pts/ptmx

root@ubuntu:/var/lib/docker/overlay2# lsof -p 4594
COMMAND    PID USER   FD      TYPE             DEVICE SIZE/OFF    NODE NAME
docker-co 4594 root  cwd       DIR                8,1     4096       2 /
docker-co 4594 root  rtd       DIR                8,1     4096       2 /
docker-co 4594 root  txt       REG                8,1 12692848  275884 /usr/bin/docker-containerd
docker-co 4594 root  mem       REG                8,1  1868984 1441990 /lib/x86_64-linux-gnu/libc-2.23.so
docker-co 4594 root  mem       REG                8,1   138696 1441968 /lib/x86_64-linux-gnu/libpthread-2.23.so
docker-co 4594 root  mem       REG                8,1   162632 1441959 /lib/x86_64-linux-gnu/ld-2.23.so
docker-co 4594 root    0r      CHR                1,3      0t0       6 /dev/null
docker-co 4594 root    1u     unix 0xffff8800b9b3c400      0t0   21350 type=STREAM
docker-co 4594 root    2u     unix 0xffff8800b9b3c400      0t0   21350 type=STREAM
docker-co 4594 root    3u     unix 0xffff8800b9b4b800      0t0   21440 /var/run/docker/libcontainerd/docker-containerd.sock type=STREAM
docker-co 4594 root    4u  a_inode               0,11        0    6978 [eventpoll]
docker-co 4594 root    5u  a_inode               0,11        0    6978 [eventpoll]
docker-co 4594 root    6w      REG               0,18     1087     554 /run/docker/libcontainerd/containerd/events.log
docker-co 4594 root    7u     unix 0xffff8800b9b4a800      0t0   21452 /var/run/docker/libcontainerd/docker-containerd.sock type=STREAM
docker-co 4594 root    9r     FIFO               0,18      0t0     576 /run/docker/libcontainerd/containerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init/exit
docker-co 4594 root   10u     FIFO               0,18      0t0     577 /run/docker/libcontainerd/containerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init/control
docker-co 4594 root   11u  a_inode               0,11        0    6978 [eventfd]

root@ubuntu:/var/lib/docker/overlay2# lsof -p 4577
COMMAND  PID USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
dockerd 4577 root  cwd       DIR                8,1     4096          2 /
dockerd 4577 root  rtd       DIR                8,1     4096          2 /
dockerd 4577 root  txt       REG                8,1 40415992     275890 /usr/bin/dockerd
dockerd 4577 root  mem       REG                8,1    47600    1441966 /lib/x86_64-linux-gnu/libnss_files-2.23.so
dockerd 4577 root  mem       REG                8,1    47648    1441969 /lib/x86_64-linux-gnu/libnss_nis-2.23.so
dockerd 4577 root  mem       REG                8,1    93128    1441957 /lib/x86_64-linux-gnu/libnsl-2.23.so
dockerd 4577 root  mem       REG                8,1    35688    1441977 /lib/x86_64-linux-gnu/libnss_compat-2.23.so
dockerd 4577 root  mem       REG                8,1    80496    1441861 /lib/x86_64-linux-gnu/libgpg-error.so.0.17.0
dockerd 4577 root  mem       REG                8,1    14608    1441976 /lib/x86_64-linux-gnu/libdl-2.23.so
dockerd 4577 root  mem       REG                8,1   456632    1441888 /lib/x86_64-linux-gnu/libpcre.so.3.13.2
dockerd 4577 root  mem       REG                8,1  1088952    1441983 /lib/x86_64-linux-gnu/libm-2.23.so
dockerd 4577 root  mem       REG                8,1   919168    1441805 /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
dockerd 4577 root  mem       REG                8,1   137400    1441865 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
dockerd 4577 root  mem       REG                8,1    31712    1441971 /lib/x86_64-linux-gnu/librt-2.23.so
dockerd 4577 root  mem       REG                8,1   130224    1441896 /lib/x86_64-linux-gnu/libselinux.so.1
dockerd 4577 root  mem       REG                8,1  1868984    1441990 /lib/x86_64-linux-gnu/libc-2.23.so
dockerd 4577 root  mem       REG                8,1   360664    1441851 /lib/x86_64-linux-gnu/libdevmapper.so.1.02.1
dockerd 4577 root  mem       REG                8,1   252152    1441894 /lib/x86_64-linux-gnu/libseccomp.so.2.2.3
dockerd 4577 root  mem       REG                8,1   138696    1441968 /lib/x86_64-linux-gnu/libpthread-2.23.so
dockerd 4577 root  mem       REG                8,1    64144    1441809 /lib/x86_64-linux-gnu/libapparmor.so.1.4.0
dockerd 4577 root  mem       REG                8,1   162632    1441959 /lib/x86_64-linux-gnu/ld-2.23.so
dockerd 4577 root  mem-W     REG                8,1    16384    1576921 /var/lib/docker/builder/fscache.db
dockerd 4577 root  mem-W     REG                8,1    32768    1576864 /var/lib/docker/volumes/metadata.db
dockerd 4577 root  mem       REG                8,1   126840    1442084 /lib/x86_64-linux-gnu/libudev.so.1.6.4
dockerd 4577 root  mem       REG                8,1   536520    1442029 /lib/x86_64-linux-gnu/libsystemd.so.0.14.0
dockerd 4577 root    0rR     CHR                1,3      0t0          6 /dev/null
dockerd 4577 root    1u     unix 0xffff8800b9b3c400      0t0      21350 type=STREAM
dockerd 4577 root    2u     unix 0xffff8800b9b3c400      0t0      21350 type=STREAM
dockerd 4577 root    3uW     REG                8,1    32768    1576864 /var/lib/docker/volumes/metadata.db
dockerd 4577 root    4u     unix 0xffff880138e0ec00      0t0      21414 type=DGRAM
dockerd 4577 root    5u  a_inode               0,11        0       6978 [eventpoll]
dockerd 4577 root    6u     unix 0xffff88013909dc00      0t0      21289 /var/run/docker.sock type=STREAM
dockerd 4577 root    7u     unix 0xffff8800b9b4b400      0t0      21442 type=STREAM
dockerd 4577 root    8u     unix 0xffff880138b76c00      0t0      21464 /var/run/docker/metrics.sock type=STREAM
dockerd 4577 root    9u     unix 0xffff8800b9b1fc00      0t0      21612 /run/docker/libnetwork/6340eb13a70565f835767e6c7d1d6f387f17e23397998a8b0b265eb1f77bbbf8.sock type=STREAM
dockerd 4577 root   10r      REG                0,3        0 4026531957 net
dockerd 4577 root   11u  netlink                         0t0      21673 ROUTE
dockerd 4577 root   12u  netlink                         0t0      21674 XFRM
dockerd 4577 root   13u  netlink                         0t0      21675 NETFILTER
dockerd 4577 root   14uW     REG                8,1    16384    1576921 /var/lib/docker/builder/fscache.db
dockerd 4577 root   19u     FIFO               0,18      0t0        570 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdin
dockerd 4577 root   20u     FIFO               0,18      0t0        571 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdout
dockerd 4577 root   21w      REG                8,1        0    1581074 /var/lib/docker/containers/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415-json.log
dockerd 4577 root   22w     FIFO               0,18      0t0        570 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdin
dockerd 4577 root   23r     FIFO               0,18      0t0        571 /run/docker/libcontainerd/fcd31fc10b7941c7b9141f20c22d832915c0dd6f79150b4f6946abcc377c5415/init-stdout
dockerd 4577 root   27u     sock                0,8      0t0      31903 protocol: NETLINK

とりあえず各dockerプロセスがどんなファイルを開いているのかとかを確認してみたりしました.動作中のコンテナのプロセスはvar/lib/dockerを参照していないことがわかったりしたので,もうちょっと深く調べてみたりしています. ファイル関連の知識が足りなくてよくわからないですが,同一ファイルに書き込むことがなければ,複数ホストでvar/lib/dockerを同一ディスクからマウントしても問題なかったりしないかなーって思ったりしてます. 通常そういう使い方をするのは良くないので問題ないわけはないと思うけど.