我机器上的 docker 服务器当前使用 /var/lib/docker 作为根目录,我正在尝试将其更改为我的主分区上的某个目录。
我停止了 docker.service,按照 wiki 的说明在位于 /etc/docker/daemon.json 的文件中配置了 data-root,将当前根目录中存储的数据复制到新目录,然后重新启动 docker.service 。之后,运行“docker info”仍然将原始目录显示为 doot dir。
/etc/docker/daemon.json 文件如下所示:
{ "data-root": "/home/(用户名)/.docker-root/docker" }
由于新目录位于用户而不是专用分区中,是否存在权限问题?
如果 /etc/docker/daemon.json 位置正确,并且 /etc/docker/daemon.json 中的所有规范均正确写入,
为什么不检查docker服务日志和服务文件呢?
sudo journalctl -u docker.service
sudo journalctl -u docker.service | grep -i "error"
sudo journalctl -u docker.service | grep -i "warning"
从错误日志中获取一些提示(可能有一些关于您的守护进程设置的日志)
sudo nano(vim,cat) /usr/lib/systemd/system/docker.service
在 docker 服务文件中,检查是否有任何选项覆盖“data-root”设置
[Service]
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
还可以使用
daemon-reload
将更改应用到 docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker