docker 服务似乎无法识别 daemon.json 文件中的 max-size log-opts 设置,因此无法启动。
/etc/docker/daemon.json
{
"log-driver": "syslog",
"log-opts": {
"tag": "docker/{{.Name}}",
"syslog-address": "unixgram:///dev/log",
"max-size": "1g",
"max-file": "3"
}
}
尝试在调试中启动 docker 时的输出
sudo dockerd --debug
INFO[2024-01-08T21:26:17.680158874Z] Starting up
DEBU[2024-01-08T21:26:17.680948989Z] Listener created for HTTP on unix (/var/run/docker.sock)
DEBU[2024-01-08T21:26:17.682318614Z] Golang's threads limit set to 56700
DEBU[2024-01-08T21:26:17.682822324Z] metrics API listening on /var/run/docker/metrics.sock
DEBU[2024-01-08T21:26:17.691143680Z] processing event stream module=libcontainerd namespace=plugins.moby
DEBU[2024-01-08T21:26:17.691567388Z] Cleaning up old mountid : start.
failed to start daemon: failed to set log opts: unknown log opt 'max-size' for syslog log driver
不确定我在这里可能会丢失什么,因为根据日志驱动程序文档,这是一个有效的标志,
Configure logging drivers
Docker 版本 24.0.7,构建 afdd53b
从 daemon.json 文件中删除“max-size”和“max-file”键值对就可以正常工作,docker 能够正常启动。
选项特定于每个驱动程序,并且
syslog
驱动程序不存在该选项:https://docs.docker.com/config/containers/logging/syslog/#options
local
和 json-file
驱动程序支持该选项。