在 CentOS 上使用 Docker 查看日志,常见有几种方式,按使用频率从多到少说:
docker logs 容器名或容器ID
常用参数:
docker logs -f 容器名 # 实时跟踪日志(类似 tail -f)
docker logs --tail 100 容器名 # 只看最后100行
docker logs -t 容器名 # 显示时间戳
docker logs --since 30m 容器名 # 最近30分钟的日志
示例:
docker logs -f --tail 50 nginx
docker ps
查看所有容器(包括已停止):
docker ps -a
有些程序日志写在文件里(不是 stdout):
docker exec -it 容器名 /bin/bash
# 或
docker exec -it 容器名 sh
然后:
cat /var/log/xxx.log
tail -f /var/log/xxx.log
journalctl -u docker
journalctl -u docker -f
cat /var/log/docker.log
docker-compose logs
docker-compose logs -f 服务名
默认 Docker 容器日志在:
/var/lib/docker/containers/<容器ID>/<容器ID>-json.log
⚠️ 不建议直接改,容易出事
如果你能说下:
我可以给你更精确的命令。