如何在ansible中指定docker的log-opt来限制容器的日志大小?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在ansible中指定docker的log-opt来限制容器的日志大小?相关的知识,希望对你有一定的参考价值。
我正在使用ansible playbook在Jenkins中使用docker部署我的应用程序,最近我想限制应用程序容器的日志大小,“docker run”有“-log-opt max-size = xxxm”选项,但我怎么能在ansible playbook中添加相同的功能?
我尝试将ansible playbook设置如下,但测试表明它不起作用。
- name: start container
docker_container:
name: "{{docker_container}}"
image: "{{docker_image}}"
log_options:
max-size: 256m
max-file: 2
volumes:
- "/etc/timezone:/etc/timezone"
- "/etc/localtime:/etc/localtime"
published_ports:
- "{{published_ports}}"
recreate: yes
我想限制大小的容器的日志文件的位置如下文件所示:
/var/礼拜/docker/containers/2FD CAE9方便35发4954639啊3方法254873发0啊哦8518发2饿得011807/2FD CAE9方便35发4954639啊3方法254873发0啊哦8518发2饿得0118072304077918得病20发-JSON.log
谢谢你的回复:)
为什么不登录syslog?
您的ansible剧本将如下所示:
- name: start container
docker_container:
name: "{{docker_container}}"
image: "{{docker_image}}"
volumes:
- "/etc/timezone:/etc/timezone"
- "/etc/localtime:/etc/localtime"
published_ports:
- "{{published_ports}}"
recreate: yes
log_driver: syslog
log_options:
tag: "{{docker_container}}"
syslog-facility: local4
您的syslog配置可能如下所示(/etc/rsyslog.d/22-docker.conf):
local4.* /var/log/docker.log
在我的情况下(Ubuntu 16.04),syslog自动维护日志文件大小。
以上是关于如何在ansible中指定docker的log-opt来限制容器的日志大小?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 docker compose 版本 3 中指定内存和 CPU 限制
如何在alpine:3.6 Docker容器中指定静态(非DHCP)DNS?
如何在 Spring Boot 应用程序中指定 Log4j2 配置文件
nacos:docker-compose文件中指定nacos的命名空间