如何为Testcontainers的GenericContainer配置日志驱动参数?
为GenericContainer配置日志限制参数
你可以通过Testcontainers提供的withCreateContainerCmdModifier方法,手动设置容器的日志驱动选项,实现和docker-compose中相同的日志限制效果:
GenericContainer<?> kafkaContainer = new GenericContainer<>("confluentinc/cp-kafka:latest") .withCreateContainerCmdModifier(cmd -> { cmd.withLogConfig(new LogConfig() .withConfig(Map.of( "max-size", "10m", "max-file", "3" ))); });
说明:
withCreateContainerCmdModifier允许你直接修改Docker容器的创建命令,对应docker-compose里的logging配置段。- Testcontainers默认使用Docker的
json-file日志驱动,和docker-compose默认行为一致,因此可以省略withType("json-file"),只保留核心配置参数。 - 配置的
max-size和max-file参数和你在docker-compose中定义的完全一致,分别限制单个日志文件大小为10MB,最多保留3个日志文件。
这个配置会让容器运行时自动切割日志,避免长时间运行后日志占满硬盘,正好解决你提到的本地开发环境容器留驻过夜占用空间的问题。
内容的提问来源于stack exchange,提问作者vab2048
相关产品推荐
相关产品推荐

