在Ansible中转义双花括号

如何在Ansible 1.9.2中转义双花括号?

例如,如何在以下shell命令中转义大括号?

- name: Test 

shell: "docker inspect --format '{{ .NetworkSettings.IPAddress }}' instance1"

回答:

这是一个非常干净和Ansible的本机解决方法,不依赖于docker --inspect花括号。我们假设之前我们刚刚使用 Ansible

docker模块 引用了一个容器:

- name: query IP of client container

shell: "docker exec {{ docker_containers[0].Id }} hostname -I"

register: _container_query

- name: get IP of query result

set_fact:

_container_ip: "{{ _container_query.stdout | regex_replace('\\s','') }}"

现在,在Variable中具有Docker容器的IP

_container_ip。我还在我的文章《与Docker融为一体的婚姻》中发布了此变通办法。

[更新2015-11-03]删除了容器查询标准输出的空格。

[Update

2015-11-04]顺便说一句,官方的Ansible存储库中有两个请求请求,通过恢复Docker模块返回的事实,该解决方案变得不必要。因此,您可以通过来访问Docker容器的IP

docker_containers[0].NetworkSettings.IPAddress。因此,请为这些拉取请求投票:

  • 修复了破碎的事实#1457
  • 泊坞窗模块:修复f38186c和80aca4b#2093引入的回归

以上是 在Ansible中转义双花括号 的全部内容, 来源链接: utcz.com/qa/433624.html

回到顶部