Docker服务状态和日志需用systemd和journalctl命令查看,而非docker logs:sudo systemctl status docker查状态,sudo journalctl -u docker查日志;docker logs仅适用于容器,不适用于dockerd进程。

查看 Docker 服务本身的运行状态和日志,和查看普通容器的日志不同——Docker 服务(即 dockerd 守护进程)是宿主机上的系统服务,它的状态和日志由操作系统管理,不是通过 docker logs 命令获取的。
查看 Docker 服务运行状态
在 Linux 系统(使用 systemd)上,执行:
-
sudo systemctl status docker:显示当前服务是否 active(running)、上次启动时间、主进程 PID、最近几条 journal 日志摘要 -
sudo systemctl is-active docker:仅返回active或inactive,适合脚本判断 -
sudo systemctl is-enabled docker:检查是否设置为开机自启
查看 Docker 服务日志(即 dockerd 的启动/运行日志)
Docker 守护进程的日志由 journald(默认)或 syslog 管理,需用 journalctl 查看:
-
sudo journalctl -u docker:查看完整历史日志 -
sudo journalctl -u docker -n 50:只显示最后 50 行 -
sudo journalctl -u docker -f:实时跟踪最新日志(类似tail -f) -
sudo journalctl -u docker --since "2 hours ago":查看最近 2 小时内的日志 -
sudo journalctl -u docker -p err:只显示错误级别(err、warning 等)日志
注意区分:docker logs 不适用于 Docker 服务本身
docker logs 命令只能读取 容器内应用输出到 stdout/stderr 的日志,例如 Nginx、MySQL 容器的日志。而 dockerd 是宿主机进程,不运行在容器中,因此:
-
docker logs docker或docker logs dockerd是无效的,会报错“no such container” - 若想查容器日志,请先用
docker ps找到目标容器名或 ID,再用docker logs [NAME]
补充:确认日志驱动与存储位置(可选)
如需排查 Docker 引擎自身日志是否被重定向或限制,可检查:
- 配置文件:
/etc/docker/daemon.json中的"log-driver"和"log-opts"字段 - 日志路径(仅 json-file 驱动):
sudo docker inspect --format='{{.LogPath}}' [container]——但这仍是查容器日志路径,非 dockerd 日志


















