Le immagini Docker sono uno dei componenti più importanti della piattaforma Docker che vengono utilizzati per gestire e istruire i contenitori. Immagini Docker Leggi le istruzioni da Dockerfile e forniscono dipendenze menzionate ai contenitori Docker per la costruzione e la distribuzione del progetto. Pertanto, anche la dimensione delle immagini Docker è enorme.
Tuttavia, a volte gli sviluppatori eseguono un semplice programma o alcune righe di codice. In tale scenario, un'immagine di un'enorme dimensione non è adatta e questo impiega gran parte dello spazio del sistema per eseguire un semplice programma.
Questo articolo illustrerà come utilizzare una build a più stadi per mantenere giù le dimensioni dell'immagine.
Come generare un'immagine Docker?
Per creare un'immagine semplice per containerizzare un'applicazione, prima, crea un semplice file di testo chiamato Dockerfile. Quindi, usa il "Build Docker"Per generare una nuova immagine Docker. Per la creazione di una nuova immagine Docker, controlla i passaggi forniti.
PASSAGGIO 1: Terminal di lancio
Innanzitutto, avvia il terminale di sistema per eseguire i comandi. Ad esempio, abbiamo lanciato il "Git Bash"Git Terminal:
Passaggio 2: crea una nuova directory
Successivamente, crea una nuova directory con l'aiuto di "mkdir"Comando:
$ MKDIR SmallImagePassare alla directory appena creata usando "CD"Comando:
$ CD SmallImagePassaggio 3: crea Dockerfile
Nel passaggio successivo, crea un semplice Dockerfile. Gli utenti possono creare manualmente Dockerfile. Ad esempio, abbiamo utilizzato il "nano"Editor per generare un file sul terminale:
$ nano DockerfileIncolla lo snippet sotto codifica in "Dockerfile". Queste istruzioni eseguiranno una semplice applicazione Golang:
Da golang: 1.8 come costruttoreVai avanti per generare una nuova immagine Docker.
Passaggio 4: genera l'immagine Docker
Successivamente, crea l'immagine Docker usando il comando menzionato. Qui, il "-T"L'opzione viene utilizzata per fornire il nome dell'immagine:
$ docker build -t normalimage .Passaggio 5: controlla l'immagine Docker
Visualizza l'immagine appena creata per verificare se l'immagine viene creata o meno:
$ Docker Immagini NormalImageDall'output, è possibile notare che la dimensione di una semplice immagine Docker è 719 MB:
Come utilizzare build Docker Multi-Stage per mantenere basse le dimensioni dell'immagine?
Per una build a più stadi, viene utilizzato un file Docker con istruzioni a più stadi. Le istruzioni di base contengono dipendenze nelle build multistage, mentre le istruzioni per il bambino forniscono istruzioni per distribuire programmi. Ogni volta che un contenitore ha bisogno di dipendenze, accederà dalla fase di base. La dimensione dell'immagine viene automaticamente ridotta in build multi-stage.
Segui le istruzioni sotto fornite per utilizzare build multistage per mantenere giù le dimensioni dell'immagine.
Passaggio 1: Apri Dockerfile
Innanzitutto, apri Dockerfile con l'aiuto del "nano" editor di testo:
$ nano DockerfilePassaggio 2: modifica Dockerfile in multistage
Modificare le istruzioni Dockerfile in istruzioni a più livelli come mostrato di seguito:
Da golang: 1.8 come costruttorePassaggio 3: ricostruire un'immagine Docker
Quindi, crea l'immagine Docker multi-stage usando il comando di seguito:
$ docker build -t normalimage .Successivamente, conferma se l'immagine viene creata o meno tramite il comando dato:
$ Docker Immagini NormalImageSi può notare che l'immagine viene creata correttamente. Le sue dimensioni sono ridotte solo a "12.9 MB":
Abbiamo dimostrato come utilizzare una build multi-stage per mantenere bassa la dimensione dell'immagine.
Conclusione
In una build a più stadi, le istruzioni Dockerfile sono divise in più fasi. L'istruzione di base contiene istruzioni di installazioni e dipendenze richieste dal contenitore e le istruzioni per il bambino vengono utilizzate per distribuire e costruire progetti. Per utilizzare una build Docker a più stadi, crea prima un file Dockerfile a più stadi. Quindi, genera un'immagine Docker attraverso "Docker build -t "Comando. Questo blog ha illustrato come utilizzare una build docker multistage per ridurre la dimensione dell'immagine.