用可变键Ansible docker_container etc_hosts

我有一个可靠的脚本,通过它产生一个docker容器,并添加less量的主机条目,因为etc_hosts需要密钥作为主机名和相应的IP地址。 在我的情况下,我需要有主机名和IP地址由一些variables驱动,例如

docker_container: name: image-name image: image-to-be-pulled state: started restart_policy: always etc_hosts: "{{ domain_1 }}": "{{ domain_1_ip }}" domain_2 : "{{ domain_2_ip }}" domain_3 : "{{ domain_3_ip }}" 

当我进行上面的configuration,然后它作为主机文件的条目

 xx.xx.xx.xxx {{ domain_1 }} 

理想情况下,主机文件应包含对IP的主机名,有人可以build议我怎么做到这一点。 提前致谢

试试这个语法:

 docker_container: name: image-name image: image-to-be-pulled state: started restart_policy: always etc_hosts: > { "{{ domain_1 }}": "{{ domain_1_ip }}", "domain_2" : "{{ domain_2_ip }}", "domain_3" : "{{ domain_3_ip }}" } 

这将形成一个类似于字典的string,这个string将被ansible的templator评估为字典。
请注意,每个项目都应该引用,并且双逗号分隔。