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

标签 ansible docker-compose

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

以下是 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实现这个配置?

最佳答案

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

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

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

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

关于ansible - 使用 ansible 转义 docker-compose 模板变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45706184/

相关文章:

ansible - 检查数组是否已定义并且在ansible中不为空

ubuntu - apt-get 没有在 ansible 中注册变量

apache-spark - 通过Docker Compose将Spark Master连接到Spark Slave

docker - 如何在生产中的服务之间共享源代码?

django - 如何使用 Nginx、docker-compose、django 修复 : Domain name not working in digital ocean's droplet.

ansible - Ansible剧本中的动态变量名?

vagrant - 通过 Vagrant 自动安装和运行 Ansible Local

docker - 无法在 ElasticSearch 上加载和使用 synonym.txt 文件

docker - 使用 docker stack 在 docker 容器中运行 MariaDB

Ansible 在存储库之间共享角色