Docker è un progetto open-source che automatizza la distribuzione di applicazioni all'interno di container software , fornendo un ulteriore livello di astrazione e automazione per la virtualizzazione delle applicazioni su più sistemi operativi.
Docker utilizza le funzionalità di isolamento delle risorse del kernel Linux, come cgroups e namespaces, per consentire la creazione di "container" indipendenti.
In questo modo, Docker prevede che questi contenitori vengano eseguiti all'interno di una singola istanza Linux, evitando il sovraccarico di avvio e manutenzione di macchine virtuali.
Il supporto del kernel Linux per gli spazi dei nomi isola la vista di un'applicazione del suo ambiente operativo.
Compresi alberi di processo, rete, ID utente e file system montati, mentre i cgroup del kernel forniscono l'isolamento delle risorse, tra cui CPU, memoria, blocco I / O e rete.
Nuova versione di Docker 18.09
Viene presentata una versione di Docker 18.09 del toolkit per la gestione di container Linux isolati, che fornisce un'API di alto livello per la manipolazione dei container a livello di isolamento della singola applicazione.
Docker consente di avviare processi arbitrari in modalità di isolamento e quindi trasferire e clonare i contenitori creati per questi processi su altri server, eliminando tutto il lavoro di creazione, manutenzione e manutenzione dei contenitori.
A partire da Docker 18.09, il periodo di supporto per le release è aumentato da 4 a 7 mesi, grazie alla modernizzazione del ciclo di sviluppo di Docker Community Edition.
Un altro punto saliente di questa nuova versione di Docker è l' aggiornamento del runtime principale per la gestione dei container a containererd 1.2.
Ciò ha stabilizzato l'uso del meccanismo di gestione dei contenitori gRPC e ha garantito la compatibilità con la piattaforma Kubernetes 1.12 e migliorato il supporto per immagini universali per diverse architetture (multi-arch).
D'altro canto, Docker 18.09 amplia le capacità di un nuovo backend di build (fornendo la funzionalità del comando "docker build"). Ciò consente operazioni automatiche di garbage collection che supportano rilasci di job annidati e non richiedono l'autorizzazione dell'utente root durante l'operazione.
Miglioramenti a BuildKit

Docker 18.09 include anche l'opzione di differimento di BuildKit. Si tratta di una nuova architettura di build che migliora le prestazioni, la gestione dello storage e l'estensibilità , aggiungendo al contempo alcune importanti nuove funzionalità .
Miglioramenti delle prestazioni: BuildKit include un modello ridisegnato di concorrenza e memorizzazione nella cache che lo rende molto più veloce, più preciso e più portabile.
Grazie a questa modifica e all'allineamento dell'architettura, gli sviluppatori Docker ora consentono anche l'aggiornamento del motore dalla versione Community alla versione Enterprise con una semplice attivazione della licenza.
Per gli attuali utenti della versione Docker Community, questa mossa significa sbloccare molte funzionalità di sicurezza aziendale e ottenere l'accesso al supporto di classe enterprise di Docker e alle politiche di manutenzione estese.
Rispetto alla versione precedente
Il codice è stato modificato per organizzare l'esecuzione parallela del processo e il modello di caching è stato cambiato, consentendo così di velocizzare significativamente l'assemblaggio.
Ad esempio, durante il test del progetto Dockerfile, la velocità del set Moby è aumentata da 2 a 9,5 volte a causa dell'esecuzione simultanea di più fasi di montaggio, ignorando i passaggi inutilizzati ei file di dati incrementali tra i set nel contesto della vista.
È stata aggiunta la possibilità di incorporare segreti nel Dockerfile e di trasferirli in modo sicuro durante il processo di build , senza memorizzarli nelle immagini risultanti e senza installarli nella cache di build.
La possibilità di inoltrare i socket ssh-agent è implementata, ad esempio, per connettersi a repository privati ​​utilizzando una connessione esistente tramite ssh-agent.
La cache degli assembly può ora essere gestita separatamente dalle immagini.
Aggiunto nuovo comando "Docker Builder prune" per svuotare la cache e la possibilità di definire regole di pulizia e altro ancora.
Se desideri saperne di più, puoi visitare il seguente link.