我想收集docker容器日志,默认情况下,删除容器时会删除日志文件。每次我更新服务时,都会丢失一些日志。删除容器后如何保存日志文件?或者,有没有其他方法可以在不丢失的情况下从容器中收集所有日志
有两种情况:
- 如果日志是stdout或stderr,则可以在删除容器之前保存它们:
docker logs CONTAINER_ID > container.log
- 如果您的日志存储在某些文件中,在这种情况下,您可以在运行容器时将它们复制出来或为它们装载一个目录:
# Copy the logs out to the host
docker copy CONTAINER_ID:/path/to/your/log_file /host/path/to/store
# Mount a directory for them
docker run -d
-v /host/path/to/store/logs:/container/path/stored/logs
your-image