6-docker知识
1. 挂载相关问题
Question
我使用-v /:/mnt 挂载了目录,为什么在 /var/lib/docker/overlay2/id/merge/mnt看不到, 使用docker exec 进入后可以在容器内的mnt看到

宿主机文件系统
├── / (根目录)
│ ├── bin, etc, home... # 宿主机真实文件
│
└── /var/lib/docker/overlay2/<容器ID>/merged
├── bin, etc... # 来自镜像的文件
└── mnt # 空目录(镜像层中的占位符)
容器运行时视图(通过 Mount Namespace)
├── / (来自 overlay2 的 merged 目录)
│ ├── bin, etc... # 容器自己的文件
│ └── mnt << 这里被 -v /:/mnt 覆盖挂载为宿主机根目录
- /proc/容器PID/root 访问的正是当前运行中的容器实时文件系统(容器进行时)
- /proc/容器PID/root 是一个指向宿主机 /var/lib/docker/overlay2/<容器层ID>/merged 的符号连接
- 普通docker组用户无法通过/proc/容器PID/root 访问容器进行时,即使是自己创建的容器
自己创建一个特权容器也无法访问
2. 判断是不是在容器里面
df -h看overlay, 如果是 / 那么就是docker

