背景:
出于发展目的,我做了很多docker-compose up -d
和docker-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-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/