Perché il tag "latest" non va utilizzato

  • Di
  • 2021-03-10 - 2 minuti
banner

Quante volte hai utilizzato il tag latest senza rifletterci? Vediamo nel dettaglio cos’è e quando (non) va usato.

Versione breve

Il tag “latest” in realtà non significa più recente, non significa nulla.

latest” è solo un alias, come potrebbe esserlo “il_mio_tag”, quindi questo è solo il frutto di uno sviluppatore che ha avuto una pessima idea.

Versione lunga

Tutti si aspettano che il tag "latest" punti sempre alla versione più recente di un’immagine, ma purtroppo quasi mai è così.

Questo è solo un tag che viene applicato per impostazione predefinita ad un’immagine a cui non è stato associato un tag.

Vediamo una serie di casi d’uso: ogni volta che si effettua la build di una nuova immagine, è bene assegnare una nuova versione del tag -ad esempio, 1.0.0- e quindi aggiornare anche il tag “latest”; negli esempi seguenti, il tag latest viene creato e associato all’immagine tramite il secondo comando, ma nel primo e nel terzo non viene associato e quindi non è conoscenza delle ultime modifiche sull’immagine:

$ docker build -t my_image:1.0.0 . # latest non è utilizzato

$ docker build -t my_image # latest viene associato all'immagine

$ docker build -t my_image:1.0.1 . # latest non viene aggiornato

latest” viene effettivamente utilizzato quando ci si dimentica di assegnare un tag ad un’immagine, come spesso accade quando si effettuano le prime operazioni di build o push; la realtà è che non viene utilizzato quindi come previsto, perché di solito non viene aggiornato insieme all’ultima versione dell’immagine rilasciata. Come mostrato di seguito, se utilizzato in combinazione con la build di una nuova versione dell’immagine, questo viene aggiornato coerentemente con le modifiche più recenti:

$ docker build -t my_image:1.0.0 -t my_image:latest . # latest viene aggiornato

$ docker build -t my_image:1.0.1-t my_image:latest . # latest viene aggiornato

# ecc.

Risorse utili

Partners

Community, aziende e persone che supportano attivamente il blog

Logo di Codemotion
Logo di GrUSP
Logo di Python Milano
Logo di Schrodinger Hat
Logo di Python Biella Group
Logo di Fuzzy Brains
Logo di Django Girls
Logo di Improove
Logo del libro open source
Logo di NgRome

Iscriviti alla newsletter

Per non perderti gli ultimi articoli e per vincere biglietti e gadget TheRedCode

Riceverai una volta al mese (o anche meno) gli articoli più interessanti pubblicati sul blog, e potrai provare a vincere un biglietto per uno dei prossimi eventi!

Andiamo!