我一直在使用docker-compose来设置一些docker容器。我知道可以使用docker logs <container-name>
查看日志。
当容器运行时,所有的日志都被打印到STDOUT
和STDERR
,容器中没有日志'文件'生成。
但是这些日志(从docker logs
命令获得)在它们各自的容器被docker-compose down
或docker-compose rm
命令删除时被删除。
当容器被创建并再次启动时,会有一组新的日志。没有之前"运行"的日志。
我很好奇是否有一种方法可以防止日志与其容器一起被删除。
理想情况下,我想保留所有我以前的日志,即使当容器被删除。
我相信你有两条路可走:
将容器日志写入文件
您可以重新配置容器内的应用程序,以写入日志文件而不是stdout/stderr。正如您所说,您希望即使在容器被移除时也能保留日志。因此,请确保文件存储在(绑定)挂载的卷中。
重新配置docker存储日志
重新配置docker以使用不同的日志驱动程序。这尤其有用,因为它可以防止您更改每个容器。