如何在ansible中指定docker的log-opt来限制容器的日志大小?

问题描述 投票:2回答:1

我正在使用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

谢谢你的回复:)

docker logging ansible max-size
1个回答
0
投票

为什么不登录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自动维护日志文件大小。

© www.soinside.com 2019 - 2024. All rights reserved.