In genere, nel contesto degli ambienti container, sono due i tool e piattaforme utilizzati per la creazione e la gestione dei container. Si tratta di Docker e Kubernetes.
Docker è un ambiente di runtime utilizzato per creare e costruire software all'interno dei container. Utilizza immagini Docker (snapshot copy-on-write) per implementare applicazioni o software containerizzati negli ambienti di sviluppo, test e produzione. Docker è basato su open standard e può essere utilizzato negli ambienti operativi più comuni, tra cui Linux, Microsoft Windows e altre infrastrutture on-premise o basate sul cloud.
Tuttavia, le applicazioni containerizzate possono essere piuttosto complicate. Durante la produzione, in molti casi potrebbe essere necessario disporre di centinaia o migliaia di container separati. In tali casi, gli ambienti di runtime container come Docker si avvalgono di altri strumenti per orchestrare o gestire tutti i container operativi.
Uno dei tool più diffusi a questo scopo è Kubernetes, un container orchestrator in grado di riconoscere diversi ambienti di runtime container, tra cui Docker.
Kubernetes si occupa di orchestrare il funzionamento di più container. Gestisce aree come l'utilizzo delle risorse infrastrutturali sottostanti per le applicazioni containerizzate, quali la quantità di risorse di calcolo, di rete e di storage richieste. Gli strumenti di orchestrazione come Kubernetes semplificano l'automazione e la scalabilità dei workload basati su container per gli ambienti di produzione live.