
Lavorare con Docker in console è una routine familiare per molti. Tuttavia, ci sono casi in cui un'interfaccia web GUI può rivelarsi utile anche per loro. Questo articolo offre una panoramica delle soluzioni più significative fino ad oggi, i cui autori hanno cercato di offrire interfacce più comode (o adatte a determinate situazioni) per avvicinarsi a Docker o persino gestire grandi installazioni di esso. Alcuni dei progetti sono molto giovani, mentre altri, al contrario, stanno già scomparendo…
Portainer
- ; ; .
- Licenza: Open Source (Licenza zlib e altre).
- OS: Linux, Mac OS X, Windows.
- Linguaggi/piattaforma: Go, JavaScript (Angular).
- (admin / tryportainer).

Portainer (precedentemente conosciuto come UI for Docker) è l'interfaccia web più popolare per lavorare con host Docker e cluster Docker Swarm. Viene avviato molto semplicemente, distribuendo un'immagine Docker, alla quale viene passato come parametro l'indirizzo/socket dell'host Docker. Permette di gestire contenitori, immagini (può prelevarle da Docker Hub), reti, volumi, segreti. Supporta Docker 1.10+ (e Docker Swarm 1.2.3+). Quando si visualizzano i contenitori, per ciascuno di essi è disponibile una statistica di base (utilizzo delle risorse, processi), log, accesso alla console (web-terminal xterm.js). Sono disponibili le proprie liste di accessi, che consentono di limitare agli utenti di Portainer i diritti su diverse operazioni nell'interfaccia.
Kitematic (Docker Toolbox)
- (+ ); ; .
- Licenza: Open Source (Licenza Apache 2.0).
- OS: Mac OS X, Windows.
- Linguaggi/piattaforma: Electron, Node.js, React e AltJS.

Interfaccia grafica standard per gli utenti Docker su Mac OS X e Windows, che fa parte del Docker Toolbox, l'installer di un pacchetto di utility che include anche Docker Engine, Compose e Machine. Ha un insieme minimo di funzionalità che consentono di scaricare immagini da Docker Hub, gestire le impostazioni di base dei contenitori (inclusi volumi, reti), visualizzare i log e accedere alla console.
Shipyard
- ; .
- Licenza: Open Source (Licenza Apache 2.0).
- OS: Linux, Mac OS X.
- Linguaggi/piattaforma: Go, Node.js.

Shipyard non è solo un'interfaccia, ma un sistema di gestione delle risorse Docker, basato sulla presenza di una propria API. L'API di Shipyard è RESTful, basata sul formato JSON, compatibile al 100% con Docker Remote API, e offre funzionalità aggiuntive (in particolare, autenticazione e gestione delle liste di accesso, registrazione di tutte le operazioni eseguite). Questa API è la base su cui è costruita l'interfaccia web. Per memorizzare informazioni di servizio non direttamente legate ai contenitori e alle immagini, Shipyard utilizza RethinkDB. L'interfaccia web consente di gestire i contenitori (inclusa la visualizzazione di statistiche e log, connessione alla console), le immagini, i nodi del cluster Docker Swarm e i registri privati (Registries).
Ammiraglio
- ; .
- Licenza: Open Source (Licenza Apache 2.0).
- OS: Linux, Mac OS X, Windows.
- Lingue/piattaforma: Java (framework VMware Xenon).

Piattaforma di VMware progettata per il deployment automatizzato di applicazioni containerizzate e la loro gestione durante il ciclo di vita. È posizionata come una soluzione leggera, pensata per semplificare la vita agli ingegneri DevOps. L'interfaccia web consente di gestire i host con Docker, i contenitori (+ visualizzazione di statistiche e log), i template (immagini integrate con Docker Hub), le reti, i registri, le politiche (quali host utilizzeranno quali contenitori e come distribuire le risorse). È in grado di controllare lo stato dei contenitori (health checks). Viene distribuita e implementata come immagine Docker. Funziona con Docker 1.12+. (Vedi anche un'introduzione al programma nel con un gran numero di screenshot.)
DockStation
- ; (senza codice sorgente).
- Licenza: proprietaria (freeware).
- OS: Linux, Mac OS X, Windows.
- Lingue/piattaforma: Electron (Chromium, Node.js).

DockStation è un progetto giovane, da programmatori bielorussi (che, tra l'altro, per il suo ulteriore sviluppo). Le due caratteristiche principali sono l'orientamento agli sviluppatori (non a ingegneri DevOps o sistemisti) con pieno supporto per Docker Compose e la chiusura del codice (gratuito da usare, mentre a pagamento gli autori offrono supporto personale e miglioramenti delle funzionalità). Permette non solo di gestire le immagini (supporto per Docker Hub) e i contenitori (+ statistiche e log), ma anche di creare progetti con visualizzazione delle relazioni tra i contenitori coinvolti nel progetto. È disponibile anche un parser (in fase beta) che consente di convertire i comandi. docker run in formato Docker Compose. Funziona con Docker 1.10.0+ (Linux) e 1.12.0 (Mac + Windows), Docker Compose 1.6.0+.
Interfaccia Docker Semplice
- .
- Licenza: Open Source (Licenza MIT).
- OS: Linux, Mac OS X, Windows.
- Lingue/piattaforma: Electron, Scala.js (+ React su Scala.js).

Un'interfaccia semplice per lavorare con Docker, che utilizza il Docker Remote API. Permette di gestire contenitori e immagini (con supporto per Docker Hub), connettersi alla console, visualizzare la cronologia degli eventi. Dispone di meccanismi per eliminare contenitori e immagini non utilizzati. Il progetto è in versione beta e si sviluppa molto lentamente (l'attività reale, a giudicare dai commit, si è fermata a febbraio di quest'anno).
Altre opzioni
Non sono stati inclusi nella revisione:
- — piattaforma di gestione dei contenitori, dotata di funzioni di orchestrazione e supporto per Kubernetes. Open Source (Licenza Apache 2.0); funziona su Linux; scritta in Java. Ha un'interfaccia web sulla Node.js.
- — "piattaforma amichevole per gli sviluppatori per eseguire contenitori in produzione", sostanzialmente in competizione con Kubernetes, ma posizionata come una soluzione "pronta all'uso" e semplice da utilizzare. Oltre a CLI e REST API, il progetto offre un'interfaccia web () per la gestione del cluster e la sua orchestrazione (incluso il lavoro con i nodi del cluster, i servizi, i volumi, i segreti), visualizzazione delle statistiche/log. Open Source (Licenza Apache 2.0); funziona su Linux, Mac OS X, Windows; scritta in Ruby.
- — un'utilità semplice, con un minimo di funzioni e documentazione. Open Source (Licenza MIT); funziona su Linux (disponibile solo il pacchetto per Ubuntu); scritta in Python. Supporta Docker Hub per le immagini, visualizzazione dei log per i contenitori.
- — progetto finalizzato a "rendere il deployment di applicazioni containerizzate complesse semplice come il drag-n-drop". A tal fine, è stato creato un catalogo di modelli per il deployment delle applicazioni (), i risultati dei quali vengono mostrati durante la ricerca di immagini/applicazioni insieme ai dati di Docker Hub. Open Source (Licenza Apache 2.0); funziona su Linux, Mac OS X, Windows; scritto in Ruby. Integrato con il sistema operativo CoreOS e con il sistema di orchestrazione Fleet. A giudicare dall'attività visibile su Internet, ha smesso di essere supportato nel 2015.
- — console interfaccia grafica per la gestione di contenitori e immagini Docker. Open Source (Licenza MIT); scritto in JavaScript/Node.js.
Infine: come appare l'interfaccia GUI in Dockly? Attenzione, GIF di 3,4 MB!
P.S.
Leggi anche nel nostro blog:
- «».
- «».
- «».
Fonte: habr.com
