gpt4 book ai didi

docker - "are replaced with '与ansible

转载 作者:行者123 更新时间:2023-12-02 20:09:17 26 4
gpt4 key购买 nike

在ansible中,我需要使用log-opts生成daemon.json文件:

{% if docker_log_dict is defined %}
"log-opts": {{ docker_log_dict.log_opts | default('[]') }},
{% endif %}


log_opts: |
{
"syslog-address": "tcp://{{ my_ip_run }}:514",
"tag": {% raw %}"{{.Name}}/{{.FullID}}"{% endraw %}
}

但是,当我检查生成的daemon.json文件时,我得到:
...
"log_opts":
{
'syslog-address': 'tcp://10.10.10.10:514',
'tag': {% raw %}'{{.Name}}/{{.FullID}}'{% endraw %}
}

替换时是问题,ansible替换为简单引号而不是双引号。

重新启动Docker守护程序时,它将失败,除非我使用双引号?

我不明白为什么会这样。

谁知道怎么修它 ???

最佳答案

您必须在Jinja模板中添加过滤器to_json

{% if docker_log_dict is defined %}
"log-opts": {{ docker_log_dict.log_opts | to_json | default('[]') }},
{% endif %}

我在这里找到了答案: https://groups.google.com/forum/#!topic/ansible-project/WUjiN9Wf32U

关于docker - "are replaced with '与ansible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47651812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com