我有下面的任务,
- debug:
msg: "Here: {{ item['containers'] }}"
with_items: "{{ container_matrix['results'] }}"它返回一个包含容器名称及其启动参数的字典。点赞:{"container-1":{"docker_run":"docker run -p 80:80nginx“,"env_file":"config1.env"},"container-2":{"docker_run":"docker run -p 8080:80nginx”,"env_file":"config2.env"}
但是,我实际上想提取容器名称及其env_file,
container_1 -> config1.env
container-2 -> config2.env我尝试了几种方法,但似乎没有一种方法有效。
- debug:
msg: "Here: {{ item }}"
with_dict: "{{ container_matrix['results'].'containers'] }}"也在失败。
有人能给我指引正确的方向吗?
发布于 2020-04-02 14:34:46
给定“一个包含容器名称及其启动参数的字典”。
containers:
"container-1": {"docker_run":"docker run -p 80:80 nginx", "env_file":"config1.env"}
"container-2": {"docker_run":"docker run -p 8080:80 nginx", "env_file":"config2.env"}任务
- set_fact:
mydata: "{{ containers|
dict2items|
json_query('[].{name: key, env_file: value.env_file}') }}"
- debug:
var: mydata给
"mydata": [
{
"env_file": "config1.env",
"name": "container-1"
},
{
"env_file": "config2.env",
"name": "container-2"
}
]https://stackoverflow.com/questions/60983631
复制相似问题