/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を同一ディスクからマウントしても問題なかったりしないかなーって思ったりしてます. 通常そういう使い方をするのは良くないので問題ないわけはないと思うけど.