Docker 和 Overlay2使用 alpine 镜像创建一个容器 conoverlay 来看看其具体的存储使用情况rootdocker-host:~# docker run --name conoverlay --rm -id alpine ash e3ae88ad1b885154220ce00c881f02df696f4846e2ac6e0d78949a72d3eb9307 rootdocker-host:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e3ae88ad1b88 alpine ash 5 seconds ago Up 4 seconds conoverlay rootdocker-host:~#通过 docker inspect 命令查找 conoverlay 容器根目录rootdocker-host:~# docker inspect conoverlay | grep UpperDir UpperDir: /var/lib/docker/overlay2/c708a7b258e7c0a0d246bef7f14de3675c2f65eedefdc7807104159af1308ced/diff, rootdocker-host:~#然后在 mount 输出中查找包含这个路径的 overlay 挂载rootdocker-host:~# mount | grep /var/lib/docker/overlay2/c708a7b258e7c0a0d246bef7f14de3675c2f65eedefdc7807104159af1308ced/diff overlay on /var/lib/docker/overlay2/c708a7b258e7c0a0d246bef7f14de3675c2f65eedefdc7807104159af1308ced/merged type overlay (rw,relatime,lowerdir/var/lib/docker/overlay2/l/VMPJWGALI3EQTCCN3RM5TXM3LF:/var/lib/docker/overlay2/l/5XSW6AUA5UT7QGGYBEYB74U0NY,upperdir/var/lib/docker/overlay2/c708a7b258e7c0a0d246bef7f14de3675c2f65eedefdc7807104159af1308ced/diff,workdir/var/lib/docker/overlay2/c708a7b258e7c0a0d246bef7f14de3675c2f65eedefdc7807104159af1308ced/work,xinooff) rootdocker-host:~#这个反白显示中的 merged 目录就是该容器的根文件系统挂载点。rootdocker-host:~# cd /var/lib/docker/overlay2/c708a7b258e7c0a0d246bef7f14de3675c2f65eedefdc7807104159af1308ced/merged rootdocker-host:/var/lib/docker/overlay2/c708a7b258e7c0a0d246bef7f14de3675c2f65eedefdc7807104159af1308ced/merged# ls -a . bin .dockerenv home media opt root sbin sys usr .. dev etc lib mnt proc run srv tmp var rootdocker-host:/var/lib/docker/overlay2/c708a7b258e7c0a0d246bef7f14de3675c2f65eedefdc7807104159af1308ced/merged#直接进入 conoverlay 容器查看容器内的文件系统对比后知道conoverlay 容器的根文件系统和 Linux 文件系统的 merged 挂载点是一致的。在容器中创建一个测试文件bash/ # touch /tmp/tempfile / # ls -l /tmp/tempfile -rw-r--r-- 1 root root 0 Jul 6 02:50 /tmp/tempfile / #在容器挂载点 merged 目录验证rootdocker-host:/var/lib/docker/overlay2/c708a7b258e7c0a0d246bef7f14de3675c2f65eedefdc7807104159af1308ced/merged# ls -l tmp/tempfile -rw-r--r-- 1 root root 0 Jul 6 02:50 tmp/tempfile rootdocker-host:/var/lib/docker/overlay2/c708a7b258e7c0a0d246bef7f14de3675c2f65eedefdc7807104159af1308ced/merged#
