雖然我們可以透過 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"}