首页 > 解决方案 > 如何在 docker volume ls --format 中打印嵌套字典成员值

问题描述

我想使用 docker volume ls --format 打印 docker 卷的后端卷名,

以下是 docker volume inspect 的输出

docker volume inspect 3812bd5a8e286eb9ff9
[
    {
        "CreatedAt": "0001-01-01T00:00:00Z",
        "Driver": "oie",
        "Labels": null,
        "Mountpoint": "",
        "Name": "3812bd5a8e286eb9ff9",
        "Options": null,
        "Scope": "global",
        "Status": {
            "volume_detail": {
                "oie_vol_name": "dcv-TL0SoIuHQvCStS1F-B5i-A",
                "backend": "4000",
                "compression": null,
                "cpg": "cpg1",
                "domain": null,
                "flash_cache": null,
                "fsMode": null,
                "fsOwner": null,
                "mountConflictDelay": 30,
                "provisioning": "thin",
                "size": 20,
                "snap_cpg": "cpg1"
            }
        }
    }
]

我可以使用 docker volume 提取驱动程序名称ls -f driver=hpe --format "{{.Driver}}"

大江

但是当我想拉里面的字段 oie_vol_name"Status": { "volume_detail": using " docker volume ls -f driver=hpe --format "{{.Status{.volume_detail{.oie_vol_name}}}}""

表明

模板解析错误:模板::1:命令中出现意外的坏字符 U+007B '{'

标签: dockerdocker-volume

解决方案


尝试这个

docker volume inspect -f "{{ .Status.volume_detail.oie_vol_name }} 3812bd5a8e286eb9ff9

希望这可以帮助。


推荐阅读