雖然我們可以透過 docker logs <container name> 去看 container 裡的日誌,但是如果 docker 服務壞了,我們要去哪裡找呢?
Docker 日誌
Docker 日誌 一般是交给了 Upstart(Ubuntu 14.04) 或者 systemd (CentOS 7, Ubuntu 16.04)。前者一般位於 /var/log/upstart/docker.log 下,後者一般通過 jounarlctl -u docker 来讀取。不同系统的位置都不一樣,可以參考下表:
OS系統 | 日誌路徑 |
Ubuntu(14.04) | /var/log/upstart/docker.log |
Ubuntu(16.04) | journalctl -u docker.service |
CentOS | journalctl -u docker.service |
Fedora | journalctl -u docker.service |
Docker 容器日誌
docker logs <container name>
命令執行,也可以像tail -f <xxx.log>
一樣方式,docker logs -f <container name>
- Docker Compose,可以使用
docker-compose logs <container name>
查看
Docker 清除日誌
- 查看所有containers日誌大小:
ls -lh $(find /var/lib/docker/containers/ -name *-json.log)
- 清除日誌:
truncate -s 0 $(find /var/lib/docker/containers/ -name *-json.log)
Docker 日設設定
max-file=3,一個container有三個日誌,分别為 id+.json、id+1.json、id+2.json
[root@Docker]# vim /etc/docker/daemon.json "log-driver":"json-file", "log-opts":{ "max-size" :"50m","max-file":"3"}