Questo post introduce l'approccio di compilazione multistadio per la configurazione di un ambiente di sviluppo Python dockerizzato leggero.
Non ho mai prestato troppa attenzione alle dimensioni delle mie immagini finché non ho iniziato a distribuire il mio codice in Github Actions utilizzando i contenitori. Il calcolo qui è semplice: maggiore è la dimensione del contenitore, più lungo sarà il tempo di caricamento e, di conseguenza, il tempo di caricamento maggiori sono i costi. Nel momento in cui la dimensione della mia immagine Python ha raggiunto i 5 Gb (grazie, PyTorch!), ho iniziato a esplorare approcci più efficienti per la creazione di immagini.
TLDR: sono riuscito a ridurre le dimensioni della mia immagine di base del 65% utilizzando l'approccio di creazione in più fasi.
In questo post esamineremo tre approcci di compilazione e vedremo come, con pochi semplici passaggi, possiamo ridurre le dimensioni della nostra immagine Python. Inizieremo con la nostra build di base utilizzando l'immagine Python ufficiale: python:3.1o
quindi esplora la versione image slim e concludi introducendo un approccio più avanzato: la creazione in più fasi.
Per seguire questo tutorial, avrai bisogno delle seguenti impostazioni:
- Docker Desktop (o equivalente) se utilizzi un computer con sistema operativo macOS o Windows, oppure Docker installato se utilizzi un…
Fonte: towardsdatascience.com