Linux 操作系统:debian11 一切正常,但我认为今天在 sudo apt upgrade 之后我安装了新版本的 docker。然后 docker 守护进程无法启动:
$ sudo systemctl start docker
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
我检查了日志:
今天的开始
$ sudo journalctl -xu docker.service
May 27 09:07:11 debian systemd[1]: Started Docker Application Container Engine.
░░ Subject: A start job for unit docker.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A start job for unit docker.service has finished successfully.
░░
然后我运行了 apt update && apt upgrade,但 docker 不再运行,因为 graph 指令与配置不匹配存在问题..:(
$ sudo journalctl -xu docker.service
May 27 09:20:43 debian dockerd[12661]: unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives don't match any configuration option: graph
May 27 09:20:43 debian systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
这就是我的 daemon.json 的样子
$ cat /etc/docker/daemon.json
{
"graph": "/data/docker/docker-data/"
}
Docker 版本
$ docker --version
Docker version 24.0.2, build cb74dfc
我尝试删除 docker 并重新安装,但没有成功。
我接受答案并将解决方案放在这里
$ cat /etc/docker/daemon.json
{
"data-root" : "/data/docker/docker-data/"
}
答案1
graph
是不再支持。
dockerd 或 docker daemon 命令的 -g 或 --graph 标志用于指示存储持久数据和资源配置的目录,现已被更具描述性的 --data-root 标志取代。这些标志在 v17.05 中被弃用并隐藏,并在 v23.0 中被删除。
您正在运行 v24。