是否有任何其他 ansible-docker 模块可以捕获虚拟机上的所有容器,甚至是处于退出状态的容器。
- name: Get container info
docker_host_info:
containers: yes
register: result
Run Code Online (Sandbox Code Playgroud)
docker_host_info 仅捕获处于 UP 状态的容器。有没有办法捕获或过滤处于退出状态的。请帮忙。
这是输出。
"result.containers":[
{
"Image":"ca.docker/webproxy:1.0.0",
"Names":[
"/customer1"
]
},
{
"Image":"docker.local/egacustomer:1.0.1",
"Names":[
"/registrator"
]
}
]
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用 jinja2 获得以下输出
"containerlist"=>{
"webproxy": {
"name": "customer1"
},
"egacustomer": {
"name": "registrator"
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的 jinja2 代码。
- set_fact:
containerlist: |
{
{% for item in result.containers %}
{{ item.Image.split('/')[-1].split(':')[0] | replace('\n', '') }}
name : {{ item.Names[0][1:] | replace('\n', '') }}
{% endfor %}
}
Run Code Online (Sandbox Code Playgroud)
我得到以下输出。
"containerlist": "{\nwebproxy\n name : customer1\negacustome\n name : registrator\n}"
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我获得所需的输出吗?任何帮助将不胜感激