我试图创建一个使用Ansible生成密钥的docker容器,但docker_container似乎没有返回容器输出。
如果我进入服务器并运行
root@localhost:~# docker run --rm sentry-onpremise config generate-secret-key
我得到了所需的输出。像这样的秘密密钥
q16w8(5s9_+%4@z8m%c%0uzb&agf0pn+6zfocraponasww&r)f
但是如果我尝试使用Ansible playbook运行相同的命令,则执行docker容器,但不返回任何值:
...
- name: Cria secret key para utilizacao em passos seguintes
docker_container:
name: sentry-key-generator
cleanup: True
image: sentry-onpremise
command: config generate-secret-key
register: saida
tags:
- debug
- fail:
msg: "Valor de saida: {{ saida }}"
tags:
- debug
...
致命:[45.56.93.133]:失败! => { "改变了#34;:错误, "失败":是的, "调用":{ " module_args":{ " msg":" Valor de saida:{u'改变了':是的,你' ansible_facts':{}}" }, " module_name":"失败" }, " msg":" Valor de saida:{u'改变了':是的,你' ansible_facts':{}}" }
这是docker_container模块的限制吗?我是否必须在docker或ansible中设置任何其他配置才能获得容器输出?
答案 0 :(得分:1)
这是Ansible 2.2.x中引入的一个错误,它将ansible_docker_container
与结果区分开来。
请参阅:
https://github.com/ansible/ansible/issues/22323
https://github.com/ansible/ansible/issues/20543
修补
https://github.com/ansible/ansible/pull/22324/files
修复程序将与Ansible 2.3.x一起发布