通过 ansible 检查 docker 堆栈

通过 ansible 检查 docker 堆栈

我想使用 ansible 来了解 docker stack 是否已部署。在 shell 中,我会执行以下操作:docker stack services -q my_stack_name

我可以使用该shell模块,但是我必须手动处理错误和幂等性。

是否有这个模块?(我查看了文档,docker_swarm_info但不合适。)

答案1

您可以提供一个当地事实提供该信息的。

#!/bin/sh
# /etc/ansible/facts.d/docker_stack
echo "{\"info\": \"`docker stack services -q my_stack_name`\"}"

然后,您可以在剧本中使用该ansible_local.docker_stack.info变量。

(当然,将其制作成返回结构化 JSON 数据的 Python 脚本可能会比返回丑陋的、可能是多行的字符串更有效。)

请注意,这不会注意到剧本运行期间发生的任何变化。

相关内容