如果没有设置,请不要在“docker_container”中使用“链接”configuration

我使用Ansible和“docker_container”将Web应用程序部署到各种环境。 当目标主机是非生产服务器时,我使用variables设置“links”选项,例如:

links: "{{ var_db_link }}" 

..这工作很好…当var_db_link实际设置。

问题:在部署到生产主机时,我需要能够保留这个值,因为在这种情况下,DB永远不会是链接的容器。 我期待如果没有设置Ansible会忽略“链接”选项,而不是尝试使用它。 相反,它使用产生错误的未设置值: 失败! => {“changed”:false,“failed”:true,“msg”:“创build容器时出错:500服务器错误:内部服务器错误(\”{\“message \”:\“Could not get container for \” } \ “)”}

:这甚至可能吗? (可以Ansible被告知在没有设置值时不要尝试使用一个选项)..或者..我应该(不幸的是)为每种情况创build单独的angular色/剧本(即设置了“链接”选项,没有它。

引用提交中的这一行给出了解决scheme的一个线索:

不要试图将其设置为null,只需将其设置为空列表即可:

 links: "{{ [] if var_db_link == '' else var_db_link }}"