Docker2026-04-15·7 分钟
Docker Rootless 与隔离机制
介绍 Docker Rootless 模式、容器隔离边界以及常见安全隔离实践。
Docker Rootless 与隔离机制
1. 什么是 Rootless Docker
- Rootless Docker 允许普通用户运行 Docker 守护进程。
- 提升容器运行时安全,避免 root 权限扩散。
2. 启用 Rootless 模式
bash
dockerd-rootless-setuptool.sh install
docker context use rootless- 需满足用户命名空间和相关内核配置。
- 不同发行版安装方式略有差异。
3. 容器隔离边界
- Docker 默认使用 Namespace、Cgroups、Capability、SELinux/AppArmor 等隔离机制。
- Rootless 模式进一步缩小宿主机权限范围。
4. 限制容器权限
bash
docker run --cap-drop=ALL --cap-add=NET_BIND_SERVICE myapp:latest- 使用
--cap-drop=ALL只保留最小能力。 - 根据需求选择必要能力。
5. 文件系统隔离
--read-only启用只读根文件系统。--tmpfs /tmp把临时目录挂载到内存。
bash
docker run --read-only --tmpfs /tmp myapp:latest6. 网络隔离
- 自定义网络可避免容器直接暴露到宿主网络。
--network none完全关闭网络。
7. 安全建议
- 使用 Rootless 模式作为额外防护层。
- 仍需注意镜像来源和运行时访问控制。
- 结合扫描、审计与最小权限策略构建安全容器。
Docker安全Rootless