如果你不管理Docker容器生成的日志,它们可能会变得非常庞大,占用过多磁盘空间。自动日志轮换是保持日志文件在可控范围内的解决方案。本文将通过简单、清晰的步骤,帮助你在不同场景中设置自动日志轮换。
日志轮换是指自动限制 Docker 容器生成的日志文件的大小和数量。它不会生成一个巨大的日志文件,而是将日志分割成更小的块,或者仅保留最近的日志文件,删除旧的文件以节省空间。
1. 单个容器的日志轮换
当运行特定的容器时,你可以设置日志轮换。使用以下命令以日志选项启动容器:
docker run \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=3 \
my-container
解释:
max-size=100m:每个日志文件的大小限制为 100 MB。
max-file=3:只保留三个日志文件,旧的日志文件将被删除。
2. Docker-Compose 中的日志轮换
当使用 Docker Compose 管理多个容器时,你可以直接在 docker-compose.yml 文件中设置日志轮换选项。
编辑 docker-compose.yml 文件:
services:
app:
image: my-container
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
启动你的服务:
docker-compose up
3. 全局日志轮换设置
你也可以配置全局日志轮换,这样配置将自动应用于你系统上运行的所有容器。要在 Docker 主机上为所有容器应用日志轮换,请在 Docker 的 daemon.json 文件中配置全局设置。
查找 daemon.json 文件:这个文件通常位于 /etc/docker/daemon.json。如果该文件不存在,可以手动创建。
编辑文件并添加日志选项:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
重启 Docker 守护进程:
sudo systemctl restart docker
作为系统管理员或 DevOps 工程师,我们知道生产服务器上磁盘空间的管理有多么重要。因此,合理管理 Docker 日志是保持系统平稳运行的一个重要部分。通过设置日志轮换,你可以防止日志文件过大,占用过多空间。你可以按照这些简单的步骤配置单个容器、Docker Compose,或者在全局 Docker 配置文件中进行调整。通过设置日志轮换,你的系统将保持清洁,避免磁盘空间问题,从而提高系统的稳定性和性能。今天就开始使用这些技巧,避免麻烦,保持管理的轻松和高效!











