docker打开滚动日记

打印 上一主题 下一主题

主题 1893|帖子 1893|积分 5679

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在 Docker 中启用滚动日记(log rotation)可以资助你管理容器日记的巨细,制止日记文件占用过多磁盘空间。以下是具体的使用步调:

1. 修改 Docker 守护历程设置

Docker 的日记设置是通过 daemon.json 文件管理的。你必要修改此文件以启用滚动日记。

  • 打开或创建 daemon.json 文件:
    1. sudo vi /etc/docker/daemon.json
    复制代码
  • 添加或修改以下内容:
    1.   "log-driver": "json-file",
    2.   "log-opts": {
    3.     "max-size": "50m",
    4.     "max-file": "3"
    5.   }
    复制代码

    • max-size:单个日记文件的最大巨细(例如 10m 表示 10MB)。
    • max-file:保存的日记文件数目(例如 3 表示保存 3 个日记文件)。

  • 保存并退出编辑器。

2. 重启 Docker 服务

使设置生效:
  1. sudo systemctl restart docker
复制代码

3. 验证设置


  • 检查 daemon.json 是否生效:
    1. docker info | grep Logging
    复制代码
    输出应包罗 json-file 和你的日记设置。
  • 启动一个容器并检查日记文件:
    1. docker run --name test-container -d busybox sh -c "while true; do echo 'Hello, Docker!'; sleep 1; done"
    复制代码
  • 检察日记文件是否滚动:
    1. ls -lh /var/lib/docker/containers/<container-id>/<container-id>-json.log*
    复制代码
    你会看到多个日记文件(例如 -json.log, -json.log.1, -json.log.2)。

4. 为单个容器设置日记(可选)

如果你只想为某个容器启用滚动日记,可以在运行容器时指定日记选项:
  1. docker run --name test-container \  --log-driver json-file \  --log-opt max-size=10m \  --log-opt max-file=3 \  -d busybox sh -c "while true; do echo 'Hello, Docker!'; sleep 1; done"
复制代码

5. 清理昔日记

如果必要手动清理昔日记,可以使用以下命令:
  1. sudo docker logs -f <container-id> > /dev/null 2>&1sudo truncate -s 0 /var/lib/docker/containers/<container-id>/<container-id>-json.log
复制代码

6. 留意事项



  • 日记文件默认存储在 /var/lib/docker/containers/<container-id>/ 目次下。
  • 如果磁盘空间不足,建议定期清理昔日记或增长 max-size 和 max-file 的值。
  • 如果你使用其他日记驱动(如 syslog 或 journald),滚动日记的设置方式会有所不同。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

吴旭华

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表