日志

docker容器的stdout日志

我们可以通过命令docker logs <containerName>docker logs <containerID>来查看一个docker容器的stdout日志。如果docker-daemon的启动参数--log-driver设置为json-file,那么容器的stdout日志会被保存在主机的一个文件中。那么这个文件在哪里呢?

首先,执行如下命令根据容器的名字查看容器完整的containerID,第一列就是

$ docker ps --no-trunc | grep <containerName>

然后去到/var/lib/docker/containers/<containerID>/目录下,里面会有一个名字为<containerID>-json.log的文件,它就是这个docker容器stdout日志存放的文件。

小结: docker容器标准输出日志文件的路径为/var/lib/docker/containers/<containerID>/<containerID>-json.log

日志滚动

我们可以限制每个容器stdout日志文件的大小,比如不超过500M。编辑/etc/docker/daemon.json,添加以下内容:

{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "500m"
    }    
}

Reference

Last updated