【发布时间】:2017-12-20 18:38:38
【问题描述】:
我正在使用这个:
Specify docker containers in /etc/ansible/hosts file
针对 docker 容器运行我的 ansible playbook。
但是有什么方法可以避免包含有关容器信息的物理/etc/ansible/hosts 文件?例如。从可以配置此信息的代码中运行它?
我看了:
Running ansible-playbook using Python API
但在查看答案时,我看到变量指向物理文件,例如:
inventory = Inventory(loader=loader, sources='/home/slotlocker/hosts2')
playbook_path = '/home/slotlocker/ls.yml'
所以不太清楚为什么这比不使用 Python ansible API 直接从命令行调用要好。
【问题讨论】:
-
查看此链接:serversforhackers.com/c/running-ansible-2-programmatically。它使用“NamedTemporaryFile”来制作新的库存文件。
-
为什么要针对正在运行的 docker 容器运行 ansible playbook?你想完成什么?
-
为了能够更快地测试我的剧本,例如更快地恢复目标机器/容器