使用ansible转义docker-compose模板变量

时间:2017-08-16 06:07:47

标签: ansible docker-compose

我想使用ansible脚本传递aws logs驱动器配置。

以下是aws日志配置代码段。

logging:
      driver: awslogs
      options:
        awslogs-region: us-east-2
        awslogs-group: dev
        awslogs-stream: stream-{{.FullID}}

{{。FullID}}是docker-compose支持的标记ansible在尝试执行时会抛出以下错误。

{"changed": false, "failed": true, "msg": "AnsibleError: template error while templating string: unexpected '.'. String: version: '2

有没有办法用ansible实现这种配置?

2 个答案:

答案 0 :(得分:1)

至少,以下内容应防止模板引擎尝试解释它:

awslogs-stream: stream-{{'{'}}{.FullID}}

但为了清楚起见,我将所有内容放入模板中:

awslogs-stream: "{{ 'stream-{{.FullID}}' }}"

答案 1 :(得分:0)

你可以试试这个:

awslogs-stream: !unsafe "stream-{{.FullID}}"

或者这个:

awslogs-stream: stream-{{ '{{' }}.FullID{{ '}}' }}