17
NOV
Linux Docker 的 root 和 rootless 模式
Rootless Docker与Root Docker在配置文件和存储路径上存在显著差异,Rootless模式以普通用户权限运行,数据存储在用户目录(如~/.local/share/docker),配置文件位于~/.config/docker/daemon.json,而Root模式需sudo权限,配置文件为/etc/docker/daemon.json,存储路径为/var/lib/docker,运行时套接字分别为$XDG_RUNTIME_DIR/docker.sock与/var/run/docker.sock。Rootless Docker通过用户命名空间技术实现容器隔离,将容器内root用户映射到主机普通用户,提升安全性并避免系统级权限共享,但存在性能较低(依赖用户态网络模拟如slirp4netns)、功能受限(如不支持Cgroups资源限制)及兼容性问题(需Linux Kernel 5.11以上)。其适用于开发环境、共享服务器、安全敏感场景及教育实验,通过dockerd-rootless-setuptool.sh安装后配置环境变量(如DOCKER_HOST)并启动systemctl --user服务,需单独配置~/.config/docker/daemon.json以设置镜像加速、日志驱动等参数,与Root模式共存时通过环境变量区分实例,确保两者网络、存储及配置完全隔离。--Qwen3