Skip to content

Rootless 模式

Rootless 模式允许以非 root 用户身份运行 Docker,提高安全性。

为什么使用 Rootless?

  • 降低安全风险 - 减少权限提升攻击面
  • 符合安全最佳实践 - 最小权限原则
  • 容器隔离 - 更好的用户隔离

安装 Rootless Docker

前提条件

  • Linux 内核 4.18+
  • systemd 用户会话
  • 新版本内核命名空间支持

安装步骤

sh
# 安装 rootlesskit
curl -fsSL https://get.docker.com/rootless | sh

# 设置环境变量
export PATH=$HOME/bin:$PATH
export DOCKER_HOST=unix://$HOME/.docker/run/docker.sock

# 启动 Docker
dockerd-rootless.sh &

使用 Rootless Docker

基本使用

sh
# 启动 Docker
systemctl --user start docker

# 设置开机自启
systemctl --user enable docker

# 使用 Docker
docker run hello-world

限制和注意事项

端口限制

Rootless 模式只能使用 1024 以上的端口:

sh
# ✅ 可以使用
docker run -p 8080:80 nginx

# ❌ 不能使用
docker run -p 80:80 nginx

网络限制

某些网络功能可能受限,如 --network host

卷挂载

某些卷挂载路径可能受限。

迁移到 Rootless

备份数据

sh
# 备份镜像
docker save $(docker images -q) | gzip > images.tar.gz

# 备份卷
# ... (参考备份章节)

安装 Rootless

按照上述安装步骤操作。

恢复数据

sh
# 恢复镜像
gunzip -c images.tar.gz | docker load

最佳实践

  1. 使用 Rootless - 生产环境推荐使用
  2. 限制端口 - 使用反向代理处理低端口
  3. 监控权限 - 定期检查权限配置
  4. 更新系统 - 保持内核和工具更新

BSFC Tech Pro Tip

生产环境应该使用 Rootless 模式,这是 Docker 安全最佳实践。


由 BSFC Tech 提供技术支持