# 日志

## 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

* <https://docs.docker.com/config/containers/logging/configure/>
