如何在AWS ECS任务定义中配置Docker日志轮转参数
ECS任务定义配置Docker日志轮转参数方法
你不需要手动拼接--log-opt前缀传入参数,ECS会自动将日志配置块里的键值对转换为Docker启动时对应的--log-opt参数,具体配置方式如下:
控制台可视化配置步骤
- 进入ECS控制台,打开新建/编辑任务定义的页面
- 定位到容器定义模块,点开需要配置的目标容器的编辑面板
- 滚动到「存储和日志」配置区,找到日志配置板块
- 选定你实际使用的日志驱动(ECS最常用的是
awslogs即CloudWatch Logs驱动) - 在日志选项的键值对配置区,新增2组配置:
- 键:
max-size,值:10m - 键:
max-file,值:5
- 键:
- 补全日志驱动要求的其他必填参数(比如awslogs驱动需要配置日志组名、区域、流前缀),保存容器配置后完成任务定义创建即可
任务定义JSON配置示例
在容器定义的logConfiguration字段下,直接把两个轮转参数加到options对象里即可,参考片段:
{ "containerDefinitions": [ { "name": "your-app-container", "image": "your-app-image:version", // 其余容器配置:端口映射、资源限制、环境变量等 "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "/ecs/your-service-log-group", "awslogs-region": "cn-north-1", "awslogs-stream-prefix": "ecs", "max-size": "10m", "max-file": "5" } } } ] // 其余任务定义配置:执行角色、任务CPU/内存、启动类型等 }
注意事项
- 不要在
options的键值里手动加--log-opt前缀,直接写参数名和值即可,加前缀会导致参数识别失败 - 如果使用Fargate启动类型,需要选择1.4.0及以上版本的平台,低版本Fargate不支持这两个日志轮转参数
- 配置生效后,单份日志文件达到10MB会自动切割,最多保留5份历史日志文件,避免单日志文件过大占满存储空间
内容的提问来源于stack exchange,提问作者SaarlandProgger
相关产品推荐
相关产品推荐

