Мне не нравится оригинальный метод inspect для поиска определенного поля в Docker, поэтому я использую jq, чтобы найти нужную конфигурацию, например:
docker inspect test | jq '.[].NetworkSettings
docker inspect test | jq '.. | .NetworkSettings? | objects'
оба сценария могут получить результаты:
{
"Bridge": "",
"SandboxID": "4951989910db53c8bb8368add9ddcdf0e69cd14a9ff09ef95402850f24c5de08",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {},
"SandboxKey": "/var/run/docker/netns/4951989910db",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"test_default": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"f3df83d51385",
"test"
],
"NetworkID": "4b09f5c3a82cb7c9770efec1fc818eb071cf707bd60ec96202664d5282d73b6c",
"EndpointID": "",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "",
"DriverOpts": null
}
}
}
но основано на том, что я полностью ввел имя конфигурации NetworkSettings
правильно, есть ли способ сделать размытый ключ поиска рекурсивно и без учета регистра с помощью jq?как docker inspect test | jq '.. | search(. | match("network";"i") | objects'
, это не сработает, просто пример.