¿Es posible editar los datos devueltos por docker Inspect?

docker inspect devuelve todo tipo de información interesante sobre una imagen o contenedor de docker (u otro objeto).

¿Dónde se almacena esta información? Es posible editarlo?

como johnharris85 decir.
hasta ahora (17.12) la API de docker para editar la mayoría de las opciones del contenedor.

lo único que podemos hacer es editar los archivos de configuración en el disco:


en general, la configuración estaba en la carpeta /var/lib/docker/containers/<conainerID>*/

  • config.v2.json
  • hostconfig.json

edítelos, reinicie el servicio docker, se cargará la nueva configuración.

// probado en docker 17.12

véase también:https://stackoverflow.com/a/49371983/4896468

No, no es posible editar la configuración 'incorporada' y la información de estado devuelta por docker inspect. Sin embargo, si quieres añadir información a docker inspect luego, puede buscar agregar etiquetas a sus imágenes / contenedores y luego introspectarlas (ya que la información de la etiqueta es devuelta por docker inspect).

Se pueden encontrar documentos oficiales sobre etiquetado (varios objetos diferentes) aqui.

Sí, @johnharris señala que no hay una API de edición directa

@yurenchen tiene razón en eso. /var/lib/docker/containers/<containerID>/hostconfig.json luego, reiniciar el demonio docker actualizará la salida de docker inpect <containerID>

Durante una actualización de Docker, el tiempo de ejecución predeterminado cambió de oci a runc y no pude reiniciar una pila de contenedores.Salida de sudo cat /var/lib/docker/<containerID>/hostconfig.json | jq .Runtime ser "oci" pero necesitaba ser "runc" después de la actualización.

Iniciado manualmente sudo docker start <short_containerID>

Dependiendo de lo que intentes lograr, es mejor que pongas una etiqueta.