É possível editar os dados retornados pelo Docker inspect?

docker inspect retorna todos os tipos de informações interessantes sobre uma imagem ou contêiner do docker (ou outro objeto).

Onde essas informações são armazenadas? É possível editá-lo?

como johnharris85 indica.
até agora (17.12) API do docker para editar a maioria das opções do contêiner.

a única coisa que podemos fazer é editar arquivos de configuração no disco:


geralmente, a configuração estava na pasta /var/lib/docker/containers/<conainerID>*/

  • configuracao.v2.json
  • hostconfig.json

Edite-os, reinicie o serviço docker, a nova configuração será carregada.

// testado no docker 17.12

ver:https://stackoverflow.com/a/49371983/4896468

Não, Não é possível editar a configuração 'embutida' e as informações de Estado retornadas por docker inspect. No entanto, se você quiser adicionar informações para docker inspect em seguida, você pode procurar adicionar rótulos às suas imagens / contêineres e, em seguida, introspecção de que (como as informações do rótulo são retornadas por docker inspect).

Documentos oficiais sobre Rotulagem (vários objetos diferentes) podem ser encontrados aqui.

Sim, @ johnharris aponta que não há API de edição direta

@ yurenchen está correto em Editar /var/lib/docker/containers/<containerID>/hostconfig.json em seguida, reiniciar o daemon do docker atualizará a saída de docker inpect <containerID>

Durante uma atualização do docker, o tempo de execução padrão mudou de oci para runc e não consegui reiniciar uma pilha de contêineres.Saída de sudo cat /var/lib/docker/<containerID>/hostconfig.json | jq .Runtime era "oci" mas precisava ser "runc" após a atualização.

Iniciado manualmente sudo docker start <short_containerID>

Dependendo do que você está tentando alcançar, talvez seja melhor definir um rótulo.