Rilasciato Docker Engine 29: containerd diventa il gestore predefinito delle immagini e altre novità

Docker è una piattaforma a codice aperto tra le più diffuse per lo sviluppo, la distribuzione e l’esecuzione di applicazioni all’interno di contenitori software. I contenitori permettono agli sviluppatori di racchiudere un’applicazione insieme a tutte le sue dipendenze in un’unità standardizzata, garantendo coerenza e affidabilità tra i diversi ambienti di esecuzione, come quelli di sviluppo, collaudo e produzione. Questo approccio semplifica notevolmente la gestione delle applicazioni, riducendo i problemi legati alla compatibilità tra sistemi.
Docker ha fatto il suo debutto nel 2013, cambiando radicalmente il modo in cui le applicazioni vengono distribuite e gestite. Il progetto è nato con l’obiettivo di semplificare la creazione di ambienti isolati, migliorando la portabilità e l’efficienza operativa delle applicazioni. Il cuore della piattaforma, Docker Engine, è sviluppato come parte integrante del progetto a codice aperto Moby, che fornisce gli strumenti fondamentali per la costruzione e l’esecuzione dei contenitori.
Docker Engine è distribuito sotto licenza Apache 2.0, che ne consente l’utilizzo gratuito, la modifica e la redistribuzione da parte della comunità. È compatibile con i principali sistemi operativi, tra cui le distribuzioni GNU/Linux, Windows (nelle versioni 10, 11 e Server) e macOS, rendendolo una soluzione versatile per ambienti di sviluppo eterogenei.
Docker Engine 29, rilasciato il 12 novembre 2025, introduce importanti novità tecniche. Tra queste, l’adozione di containerd come gestore predefinito delle immagini, che migliora la modularità e la separazione dei compiti all’interno dell’architettura di Docker. Inoltre, è stato integrato il supporto sperimentale per nftables, un moderno sistema per la gestione delle regole di rete nei sistemi GNU/Linux, che sostituisce gradualmente iptables offrendo maggiore flessibilità e controllo. Questa versione rappresenta un passo decisivo verso la modernizzazione dell’infrastruttura di Docker e il suo allineamento con gli standard attuali dell’ecosistema dei contenitori.
Novità in Docker Engine 29
Con la versione Docker Engine 29, la piattaforma compie un passo importante verso l’evoluzione della propria architettura, introducendo modifiche strutturali e funzionalità sperimentali che rafforzano l’integrazione con l’ecosistema dei contenitori software e migliorano la gestione delle reti nei sistemi GNU/Linux. Di seguito, i principali cambiamenti introdotti.
Containerd come gestore predefinito delle immagini
Fino alla versione 28, Docker Engine si affidava a un sistema di storage interno, noto come graph driver legacy, per gestire le immagini dei container. Questo sistema era responsabile della memorizzazione e dell’organizzazione dei layer (strati) che compongono le immagini Docker.
Con la versione 29, Docker Engine abbandona questo approccio tradizionale e adotta containerd come soluzione predefinita per la gestione dello storage delle immagini. In pratica, containerd, già utilizzato come runtime per l’esecuzione dei container, diventa ora anche il sistema di riferimento per la memorizzazione e la gestione delle immagini, sostituendo completamente il vecchio graph driver.
Questo cambiamento non solo semplifica l’architettura di Docker, ma garantisce anche una maggiore coerenza e compatibilità con altri strumenti dell’ecosistema dei container, come Kubernetes, che già utilizzano containerd come standard. Questo cambiamento porta diversi vantaggi:
- Architettura unificata e più efficiente: Docker Engine ora utilizza containerd sia per l’esecuzione dei container sia per la gestione dello storage delle immagini. Questo elimina la duplicazione dei sistemi, semplificando l’architettura interna e ottimizzando le prestazioni complessive.
- Maggiore compatibilità con l’ecosistema dei container: L’utilizzo di containerd come standard allinea Docker Engine con altre piattaforme diffuse, come Kubernetes, che già si basano su containerd. Ciò facilita l’integrazione con strumenti e workflow esistenti, riducendo potenziali incompatibilità e semplificando la gestione delle infrastrutture ibride.
- Base solida per future innovazioni: L’adozione di containerd apre la strada a nuove funzionalità avanzate, tra cui:
- Ottimizzazione degli snapshot: Gestione più efficiente degli stati delle immagini.
- Lazy pulling: Possibilità di scaricare solo le parti necessarie di un’immagine, riducendo i tempi di avvio e il consumo di banda.
- Distribuzione peer-to-peer delle immagini: Condivisione diretta delle immagini tra nodi, migliorando la velocità e l’affidabilità della distribuzione in ambienti distribuiti.
Le installazioni esistenti continueranno a utilizzare il vecchio sistema mentre le nuove installazioni adotteranno automaticamente containerd come gestore predefinito.
Supporto sperimentale per nftables
Tradizionalmente, Docker Engine si è affidato a iptables e ip6tables per configurare e gestire le regole di rete, in particolare per i bridge (ponti di rete) e le reti overlay (reti virtuali che collegano container distribuiti su più host). Questi strumenti, sebbene affidabili, sono basati su tecnologie ormai datate.
Negli ultimi anni, molte distribuzioni GNU/Linux hanno iniziato a sostituire iptables con nftables, uno strumento più moderno, flessibile ed efficiente per la gestione del firewall. Nftables offre prestazioni superiori, una sintassi più coerente e una migliore integrazione con le funzionalità di rete del kernel Linux. Docker Engine 29 introduce il supporto sperimentale per nftables, allineandosi così alle evoluzioni delle distribuzioni GNU/Linux e preparando il terreno per una gestione delle reti più avanzata e performante.
Con Docker Engine 29, è possibile abilitare il supporto sperimentale per nftables, consentendo al motore di creare regole nftables direttamente, senza dover passare attraverso la traduzione di iptables-nft. Per attivare questa funzionalità, è necessario avviare Docker con il seguente comando:
dockerd --firewall-backend=nftables
È importante sottolineare che questa funzionalità è ancora in fase sperimentale e non è raccomandata per ambienti di produzione. Il supporto per Docker Swarm e ulteriori ottimizzazioni per nftables sono previsti per le prossime versioni.
Altre modifiche tecniche
- Migrazione a Go modules: Il progetto Moby, alla base di Docker Engine, ha sostituito il vecchio sistema di gestione delle dipendenze con Go modules, migliorando la manutenibilità del codice.
- Aggiornamento della versione minima dell’API: La versione minima supportata dell’API è stata innalzata a 1.44, corrispondente a Moby v25. Ciò significa che i client Docker precedenti alla versione 25 non potranno comunicare con Docker Engine 29 senza modifiche.
Oltre alle novità già descritte, questa versione introduce numerose correzioni di bug e miglioramenti minori, volti a ottimizzare stabilità, sicurezza e prestazioni dell’applicazione.
Riferimenti e download
Per ulteriori informazioni, è possibile consultare l’annuncio ufficiale sul blog di Docker
Per consultare l’elenco completo delle modifiche, è possibile fare riferimento al changelog (registro delle modifiche) e alle note di rilascio ufficiali.
Gli utenti dei sistemi GNU/Linux possono aggiornare Docker Engine 29 tramite i repository software delle rispettive distribuzioni, mentre gli utenti di Docker Desktop riceveranno automaticamente gli aggiornamenti nelle prossime versioni.
Fonte: https://www.docker.com/blog/docker-engine-version-29/
Fonte: https://docs.docker.com/engine/release-notes/29/
Fonte: https://github.com/moby/moby/releases/tag/docker-v29.0.0
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
























