当使用 Docker 时无法查看到容器日志,可能是由多种原因造成的。以下是详细的排查步骤和解决方案:
# 检查容器状态
docker ps -a
# 如果容器处于退出状态,可以尝试重启
docker start <container_name>
# 检查当前容器的日志驱动
docker inspect <container_name> | grep -i logdriver
# 临时修改日志驱动启动容器
docker run --log-driver=json-file ...
# 检查日志文件位置(json-file驱动)
/var/lib/docker/containers/<container_id>/<container_id>-json.log
# 检查磁盘空间
df -h
# 查看日志配置
docker inspect <container_name> | grep -i log
# 启动时限制日志大小
docker run --log-opt max-size=10m --log-opt max-file=3 ...
# 查找容器ID
docker ps -a
# 直接查看日志文件(json-file驱动)
sudo cat /var/lib/docker/containers/<container_id>/<container_id>-json.log
# 使用journald驱动
docker run --log-driver=journald ...
# 查看日志
journalctl -u docker CONTAINER_NAME=<container_name>
# 查看Docker服务日志
journalctl -u docker.service
# 或查看系统日志
grep docker /var/log/syslog
如果以上方法都无法解决问题,可能需要检查Docker版本、系统配置或考虑应用程序本身的日志输出问题。