# docker inspect blah | jq '.[] | .NetworkSettings.Ports' { "22/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "32776" } ] } ¿Cómo diablos obtengo el valor de HostPort ? Intenté lo siguiente pero falló.
# docker inspect blah | jq '.[] | .NetworkSettings.Ports.22\/tcp.HostPort'jq admite comillas dobles para claves con caracteres especiales:
jq '."22/tcp".HostPort'editar: esto se menciona en los documentos , que también mencionan que puede agregar corchetes para ayudar con la legibilidad, si lo desea:
jq '.["22/tcp"].HostPort'Por qué no :
docker inspect --format '{{ (index (index .NetworkSettings.Ports "22/tcp") 0).HostPort }}' blahesto eliminará la necesidad de otra herramienta.
La respuesta anterior está cerca, pero necesita agregar un corchete para que funcione correctamente.
jq '."22/tcp"[].HostPort'