Dockerui e Shipyard, due GUI per Docker

Docker

Analizziamo in questo post due interfacce grafiche per Docker che possono arricchire un ambiente di produzione e renderlo più facile da gestire.

Al crescere del numero di immagini e al crescere di processi Docker in esecuzione, l’output della riga di comando può diventare insufficiente per avere un quadro di insieme. Questo soprattutto perché un Docker hypervisor, chiamiamolo così, ha una densità molto più alta di un hypervisor di VM tradizionale: può contenere migliaia di istanze running. Immaginate di dover lavorare con migliaia di macchine in KVM soltanto da virsh! Un’interfaccia grafica può rendere meno dispendioso, meno faticoso e meno soggetto a errori il lavoro dell’amministratore Docker.

Come abituale nell’opensource, se ci serve una GUI web è possibile scegliere tra varie alternative. Mi sento di segnalare due progetti. Per primo, docker-ui, che fornisce una spartanissima GUI che mostra e consente di lavorare con le istanze in esecuzione, le immagini disponibili sul sistema, e poco più:

Docker UI

Docker-ui viene distribuito già pacchettizzato in Docker, quindi esiste un’immagine Docker pronta da scaricare e da mettere in moto per iniziare a usarlo subito su http://<HOST_DOCKER>:9000:

# docker build -t crosbymichael/dockerui github.com/crosbymichael/dockerui
# docker run -d -p 9000:9000 -v /var/run/docker.sock:/docker.sock crosbymichael/dockerui -e /docker.sock

Il secondo progetto interessante è Shipyard, una GUI un po’ più complessa e completa, con il login, la gestione multihost, e tante altre feature. È così sofisticata che consiste di tre container connessi: interfaccia web, DB e Redis. Fortunatamente si installa con un comando unico:

# docker run -i -t -v /var/run/docker.sock:/docker.sock shipyard/deploy setup

Una volta che questo comando termina, è necessario installare lo Shipyard agent, scaricandolo, dandogli i permessi di esecuzione e facendogli passare una chiave di registrazione all’host con l’interfaccia web, che si chiama shipyard/shipyard:latest. Con docker inspect annotiamo l’indirizzo IP di questo container, e creiamo la chiave:

# curl https://github.com/shipyard/shipyard-agent/releases/download/v0.3.2/shipyard-agent -L -o /usr/local/bin/shipyard-agent
# chmod +x /usr/local/bin/shipyard-agent
# shipyard-agent -url http://172.17.0.12:8000 -register
2014/08/03 14:45:30 Using 192.168.0.12 for the Docker Host IP for Shipyard
2014/08/03 14:45:30 If this is not correct or you want to use a different IP, please update the host in Shipyard
2014/08/03 14:45:30 Registering at http://172.17.0.12:8000
2014/08/03 14:45:30 Agent Key:  20603b80ecbb4c30a0e38ad5824a63e4

Ora facciamo login in Shipyard, andando su http://<HOST_DOCKER>:8000, autenticandoci come admin:shipyard, e in Hosts autorizziamo la chiave dell’agent. Fatto ciò, eseguiamo l’agent:

# shipyard-agent -url http://172.17.0.12:8000 -key 20603b80ecbb4c30a0e38ad5824a63e4

Adesso possiamo aprire l’interfaccia e iniziare a lavorare con i container, le immagini e quant’altro:

Shipyard

Shipyard è sicuramente più robusto di docker-ui ma, per piccole esigenze, per esempio in laboratori di test, docker-ui può essere sufficiente.

Queste interfacce sono carine, però non ci permettono di fare monitoring. Per quanto riguarda le statistiche, dobbiamo sempre tenere a mente che Docker è costruito sulla base dei cgroups, una feature del kernel con la quale si possono limitare, gestire ed isolare consumo di risorse (CPU, memoria, I/O disco ecc.) di processi e gruppi di processi dal resto del sistema. I dati che ci interessano per realizzare delle statistiche di utilizzo dei container si troveranno quindi, senza grosse sorprese, in /sys/fs/cgroup.

Vedremo in un post successivo come catalogare e visualizzare in modo grafico le statistiche dei container. Per il momento, happy docking!

Ti piacerebbe diventare anche tu uno di noi e pubblicare i tuoi articoli nel blog degli RHCE italiani?

Panoramica privacy
EXTRAORDY | Your Red Hat Trusted Mentor

Questo sito utilizza i cookie in modo da offrirti la migliore esperienza utente possibile. Le informazioni sui cookie sono memorizzate nel tuo browser e svolgono funzioni come riconoscerti quando ritorni sul nostro sito e aiutare il nostro team a capire quali sezioni del sito ritieni più interessanti e utili.

Pertanto per una completa fruizione del presente sito, si consiglia di configurare il browser in modo che accetti la ricezione dei cookie.

Cookie strettamente necessari

I cookie strettamente necessari dovrebbero essere abilitati in ogni momento in modo che possiamo salvare le tue preferenze per offrirti la miglior esperienza possibile sul nostro sito.

 

Se disabiliti questo cookie, non saremo in grado di salvare le tue preferenze. Ciò significa che ogni volta che visiti questo sito web dovrai abilitare o disabilitare nuovamente i cookie.

Cookie di terze parti

Questo sito utilizza Google Analytics per raccogliere informazioni anonime quali il numero di visitatori del sito e le pagine più popolari.

Mantenere abilitato questo cookie ci aiuta a migliorare il nostro sito.