在 CentOS 上使用 Docker 查看容器日志,常用方法如下:
docker logs 容器名或容器ID
示例:
docker logs my_container
docker logs -f 容器名或容器ID
docker logs --tail 100 容器名或容器ID
docker logs --since 2024-01-01T00:00:00 --until 2024-01-02T00:00:00 容器名
docker ps
查看所有容器(包括已停止):
docker ps -a
如果日志写在容器内部文件中:
docker exec -it 容器名 /bin/bash
然后查看日志文件,例如:
cat /var/log/app.log
tail -f /var/log/app.log
CentOS 上 Docker 默认使用 json-file 日志驱动,日志在:
/var/lib/docker/containers/容器ID/容器ID-json.log
查看示例:
tail -f /var/lib/docker/containers/xxx/xxx-json.log
⚠️ 不建议直接改这个文件
如果是 Docker 本身出问题:
journalctl -u docker
实时查看:
journalctl -u docker -f
查看容器日志驱动:
docker inspect -f '{{.HostConfig.LogConfig.Type}}' 容器名
如果你有 具体场景(比如 Docker Compose、K8s、某个服务日志看不到),可以告诉我,我给你更针对性的方法。