Ansible:在容器创建过程中获取 docker 容器输出



我正在尝试创建一个使用 Ansible 生成密钥的 docker 容器,但docker_container似乎没有返回容器输出。

如果我 ssh 进入服务器并运行

root@localhost:~# docker run --rm sentry-onpremise config generate-secret-key

我得到了所需的输出。像这样的密钥

q16w8(5s9_+%4@z8m%c%0uzb&agf0pn+6zfocraponasww&r)f

但是,如果我尝试使用 Ansible 剧本运行相同的命令,则会执行 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]:失败! => { "已更改":假, "失败":真, "调用":{ "module_args":{ "msg": "Valor de saida: {u'changed': True, u'ansible_facts': {}}" }, "module_name":"失败" }, "msg": "Valor de saida: {u'changed': True, u'ansible_facts': {}}" }

这是docker_container模块的限制吗?我是否必须在 docker 或 ansible 中设置任何其他配置才能获得容器输出?

这是 Ansible 2.2.x 中引入的一个错误,它会从结果中剥离ansible_docker_container

看:

https://github.com/ansible/ansible/issues/22323https://github.com/ansible/ansible/issues/20543

补丁:
https://github.com/ansible/ansible/pull/22324/files

该修复程序将在 Ansible 2.3.x 中发布

相关内容

  • 没有找到相关文章

最新更新