Docker查看历史日志

问题描述 投票:1回答:1

背景:

出于发展目的,我做了很多docker-compose up -ddocker-compose stop

要查看容器的日志,我要么做

- docker logs --details --since=1m -t -f container_name
or
- docker inspect --format='{{.LogPath}}' container_name
  cat path-from-previous

问题是,当我想查看10天的旧日志时,没有日志,日志只有今天的日志。

当我做一个docker inspect container_name我得到以下

"Created": "todays-timestamp"

我的日志记录是默认配置。

"LogConfig": {
     "Type": "json-file",
     "Config": {}
 },
docker docker-compose
1个回答
1
投票

这背后的原因是因为docker-logs中没有旋转。

如果您使用的是Linux系统,请访问:

/etc/logrotate.d/

并像这样创建文件docker-container => /etc/logrotate.d/docker-container

把它写入文件:

 /var/lib/docker/containers/*/*.log {
  rotate 7
  daily
  compress
  missingok
  delaycompress
  copytruncate
}

它需要所有构建的图像和日常日志,并旋转+压缩它们。

你可以测试一下:

logrotate -fv /etc/logrotate.d/docker-container

输入您的docker文件夹/ var / lib / docker / containers / [CONTAINER ID] /,您可以看到旋转。

参考:https://sandro-keil.de/blog/logrotate-for-docker-container/

© www.soinside.com 2019 - 2024. All rights reserved.