“用”replace“
daemon.json
,我需要用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 %} }
事情是在replace时,ansible用简单的引号代替双引号。
重启Docker守护进程时,除非使用双引号,否则会失败?
我不明白为什么会这样。
谁知道怎么修它 ???
您必须在Jinja模板中添加一个filterto_json
{% if docker_log_dict is defined %} "log-opts": {{ docker_log_dict.log_opts | to_json | default('[]') }}, {% endif %}
我在这里find了答案: https : //groups.google.com/forum/#!topic/ansible-project/WUjiN9Wf32U
- 安装mongodb pecl软件包的问题:/ tmp / pear / temp / mongodb / configure:./configure.lineno:line 1:syntax error:unterminated quoted string
- 使用dockerfile构build图像
- 如何设置马拉松规范docker运行参数
- 如何将创build的图像链接到docker-compose指定的命名卷?
- Docker镜像文件在OS / X上的位置是什么?
- 如何扩展现有的docker集装箱?
- 我应该如何处理与systemd远程日志logging?
- Docker保存用户生成的文件,同时更新图像
- Docker,Django和Selenium – Selenium无法连接