如何修改无root权限Docker(Docker Rootless)的数据目录?
修改无Root权限Docker的默认数据目录
官方文档明确无Root权限Docker的默认数据目录为~/.local/share/docker,且该目录不可位于NFS存储上。由于dockerd-rootless-setuptool.sh install脚本未提供直接修改该目录的选项,可通过以下步骤手动调整:
操作步骤
停止当前Docker服务
先关闭正在运行的无Root权限Docker实例:systemctl --user stop docker迁移现有数据(可选)
如果已经有镜像/容器数据需要保留,将默认目录的内容迁移到新目标目录(示例新目录为~/docker-data,可自行替换):mv ~/.local/share/docker ~/docker-data配置Docker Daemon路径
创建或编辑~/.config/docker/daemon.json文件,添加data-root字段指定新目录:{ "data-root": "/home/你的用户名/docker-data" }注意替换为实际的用户主目录路径和自定义数据目录名。
设置环境变量(可选补充)
为确保所有会话都能读取到新路径配置,可在~/.profile或~/.bashrc中添加环境变量:export DOCKER_DATA_ROOT=/home/你的用户名/docker-data执行以下命令使配置立即生效:
source ~/.profile重启Docker服务并验证
启动Docker服务:systemctl --user start docker验证数据目录是否已修改:
docker info | grep "Docker Root Dir"输出结果应显示你设置的新目录路径。
注意事项
- 新数据目录不可位于NFS存储上,需遵循官方要求
- 确保当前用户对新目录拥有完整的读写权限
- 若为全新安装(未运行过Docker),可跳过步骤2直接配置路径
内容的提问来源于stack exchange,提问作者Umcyumcy20
相关产品推荐
相关产品推荐

