在 Docker 中查看日志是排查容器问题的重要方式,以下是几种常用方法及场景说明:
docker logs -f <容器名或ID>
-f:实时跟踪日志输出(类似 tail -f)--tail N:仅显示最后 N 行(如 --tail 100)-t:显示时间戳(如 docker logs -ft)docker logs --since="2023-10-01T10:00:00" --until="2023-10-02T12:00:00" <容器ID>
--since:从指定时间开始显示--until:截止到指定时间docker inspect --format='{{.LogPath}}' <容器ID>
/var/lib/docker/containers/<容器ID>/<容器ID>-json.log)journalctl 查看 Docker 服务日志如果容器日志驱动为 journald(需配置):
journalctl -u docker.service -f
Docker 支持多种日志驱动(默认 json-file),可通过以下命令查看当前配置:
docker info --format '{{.LoggingDriver}}'
修改日志驱动需在 daemon.json 中配置(如改为 syslog)。
如果日志文件过大:
# 单容器日志清理
truncate -s 0 $(docker inspect --format='{{.LogPath}}' <容器ID>)
# 全局清理(谨慎操作)
docker system prune
docker ps)。--tail 或 grep 过滤(如 docker logs <容器ID> | grep "error")。/etc/docker/daemon.json 配置。docker-compose logs -f <服务名>根据需求选择合适的方法,简单调试用 docker logs -f,长期存储建议配置日志收集系统。