在 CentOS(以及大多数 Linux 发行版)里,overlay 一般有两种常见场景:
下面分别说明权限相关配置。
Docker 默认在 CentOS 7/8 上使用 overlay2,权限通常不是“配置出来”的,而是由宿主机文件权限 + 容器运行用户决定。
docker info | grep Storage
如果挂载宿主机目录到容器:
docker run -v /data:/data:z centos
:z 让 Docker 自动修复 SELinux 标签setenforce 0
chmod 711 /var/lib/docker
mount -t overlay overlay \
-o lowerdir=/lower,upperdir=/upper,workdir=/work \
/merged
700,属主 rootchmod 700 /work
chown root:root /work
chmod 755 /merged
chown -R appuser:appuser /upper
overlay /mnt/merged overlay \
defaults,lowerdir=/lower,upperdir=/upper,workdir=/work 0 0
⚠ 注意:
overlay 内核模块modprobe overlay
| 现象 | 原因 | 解决 |
|---|---|---|
| Permission denied | SELinux | 加 :z 或关 SELinux |
| workdir 报错 | 权限不对 | chmod 700 |
| 只读 | lowerdir 权限 | 改 upperdir |
| 普通用户看不到 | merged 权限 | chmod 755 |
我可以给更精确配置:
你可以直接贴配置文件或命令。