Usa build Multi-Stage Docker per mantenere bassa la dimensione dell'immagine?

Usa build Multi-Stage Docker per mantenere bassa la dimensione dell'immagine?

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 SmallImage

Passare alla directory appena creata usando "CD"Comando:

$ CD SmallImage

Passaggio 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 Dockerfile

Incolla lo snippet sotto codifica in "Dockerfile". Queste istruzioni eseguiranno una semplice applicazione Golang:

Da golang: 1.8 come costruttore
Workdir/go/src/app
Copia principale.andare .
Esegui GO Build -O Webserver .
Cmd ["./server web"]

Vai 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 NormalImage

Dall'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 Dockerfile

Passaggio 2: modifica Dockerfile in multistage

Modificare le istruzioni Dockerfile in istruzioni a più livelli come mostrato di seguito:

Da golang: 1.8 come costruttore
Workdir/go/src/app
Copia principale.andare .
Esegui GO Build -O Webserver .Da alpino
Workdir /app
Copia - -from = builder/go/src/app//app/
Cmd ["./server web"]

Passaggio 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 NormalImage

Si 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.