Esploratore di immagini Docker
Docker Image Explorer
Apre l’archivio tar di un’immagine esportata e mostra per ogni livello il comando, la dimensione e i file che ha aggiunto o cancellato.
Apre un’immagine Docker o OCI esportata e mostra che cosa contiene davvero ogni layer: la sua dimensione, il passo del Dockerfile che l’ha prodotto, i file che aggiunge e i file che cancella dai layer sottostanti. È il modo per scoprire perché un’immagine pesa trecento megabyte.
Lascia cadere un’immagine esportata (.tar)
Da `docker save image:tag -o image.tar` o da podman save. Analizzata in questa scheda; non viene caricato niente.
docker save sia i layout di immagine OCI, e allinea ogni livello al suo passo del Dockerfile leggendo la history della configurazione (i passi segnati con empty_layer — ENV, CMD, LABEL — non creano nessun livello e sono elencati a parte). Le cancellazioni si leggono dalla convenzione whiteout di OCI: una voce .wh.name toglie name dai livelli sottostanti; il file resta comunque nel livello inferiore e continua a costare i suoi byte.Come si usa
Esportare l’immagine
`docker save image:tag -o image.tar`, oppure l’equivalente `podman save`. Va bene anche un layout di immagine OCI.
Trascinare dentro il tar
Viene analizzato in un worker in questa scheda. Non viene caricato nulla, il che conta perché il tar di un’immagine contiene un intero filesystem.
Aprire i layer grandi
Ogni riga mostra la sua dimensione come barra e il suo passo del Dockerfile. Espandendone una si elencano i file più grandi che aggiunge e, a parte, quello che cancella e quello che nasconde.
Domande frequenti
Ho cancellato il file in un RUN successivo: perché l’immagine è ancora grande?
Perché una cancellazione è essa stessa un layer. La convenzione whiteout di OCI scrive una voce `.wh.nome` che nasconde `nome` ai layer sottostanti; il file originale è ancora lì, viene ancora spedito, viene ancora contato. Va cancellato nello stesso `RUN` che lo ha creato, oppure serve una build multi-stadio.
Perché certi passi del Dockerfile non hanno un layer?
ENV, CMD, LABEL, EXPOSE e compagni cambiano solo la configurazione, non il filesystem, quindi la cronologia dell’immagine li marca `empty_layer`. Qui sono elencati a parte, così la numerazione dei layer continua a corrispondere a quello che costa davvero byte.
Può aprire un’immagine direttamente da un registry?
No: legge soltanto un tar locale. Fare il pull vorrebbe dire che questa pagina si autentica al proprio registry, che è un altro strumento con un altro modello di minaccia. `docker save` è a un comando di distanza.
La dimensione qui non coincide con `docker images`.
Misurano cose diverse. `docker images` riporta la dimensione su disco dopo che il driver di archiviazione ha deduplicato i layer condivisi; qui si riporta il contenuto non compresso di ogni layer nell’esportazione. Sono vere entrambe; la seconda è quella che dice quanto trasferisce un `docker pull`.
Può ricevere da
Da docker run a Compose
docker run to Compose
Trasforma una riga di comando docker run nella definizione di un servizio compose, e converte anche nel verso opposto.
Ispettore WebAssembly
WebAssembly Inspector
Elenca importazioni, esportazioni, memoria e dimensioni delle sezioni di un modulo .wasm e ne stampa il formato testuale.
Codificatore e decodificatore Base64
Base64 Encoder & Decoder
Codifica e decodifica in Base64 e Base64URL testo o file, trattando correttamente l’UTF-8.
Generatore di coppie di chiavi
Key Pair Generator
Genera coppie di chiavi RSA, ECDSA o Ed25519 e le esporta in PEM, JWK o OpenSSH.
Dopo
Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.
Ispettore di archivi compressi
Archive Inspector
Apre uno zip senza estrarlo e segnala le voci che escono dal percorso, gli eseguibili, le macro e le bombe zip.
Da docker run a Compose
docker run to Compose
Trasforma una riga di comando docker run nella definizione di un servizio compose, e converte anche nel verso opposto.
Visualizzatore esadecimale
Hex Viewer
Mostra qualsiasi file come dump di offset, esadecimale e ASCII, riconosce i byte magici ed evidenzia il risultato di una ricerca.
Conversione JSON ⇄ CSV
JSON ⇄ CSV
Appiattisce il JSON annidato in colonne o ricostruisce gli oggetti da una tabella, con i nomi di colonna a percorso puntato.
Confronto fra due JSON
JSON Diff
Confronta due documenti JSON per struttura, ignorando l’ordine delle chiavi e riportando i percorsi aggiunti, tolti e cambiati.
Formattatore e validatore JSON
JSON Formatter & Validator
Formatta, minifica e valida il JSON, indicando riga e colonna esatte di un errore di sintassi.