
Trabalhar com o Docker no console é uma rotina para muitos. No entanto, há casos em que uma interface GUI/web pode ser útil, mesmo para eles. Este artigo apresenta uma visão geral das soluções mais notáveis atualmente, cujos autores tentaram oferecer interfaces mais convenientes (ou adequadas para certos casos) para familiarização com o Docker ou mesmo manutenção de grandes instalações. Alguns dos projetos são bastante novos, enquanto outros estão, por outro lado, em declínio.
Portainer
- ; ; .
- Licença: Open Source (Licença zlib e outros).
- SO: Linux, Mac OS X, Windows.
- Linguagens/plataforma: Go, JavaScript (Angular).
- (admin / tryportainer).

Portainer (anteriormente conhecido como UI for Docker) é a interface web mais popular para trabalhar com hosts Docker e clusters Docker Swarm. É muito fácil de iniciar — implantando uma imagem Docker, para a qual a URL/socket do host Docker é passada como parâmetro. Permite gerenciar contêineres, imagens (capaz de buscá-las no Docker Hub), redes, volumes, segredos. Suporta Docker 1.10+ (e Docker Swarm 1.2.3+). Ao visualizar contêineres, para cada um deles estão disponíveis estatísticas básicas (uso de recursos, processos), logs, conexão ao console (terminal web xterm.js). Tem suas próprias listas de acessos, permitindo restringir os direitos dos usuários do Portainer para diversas operações na interface.
Kitematic (Docker Toolbox)
- (+ ); ; .
- Licença: Open Source (Licença Apache 2.0).
- SO: Mac OS X, Windows.
- Linguagens/plataforma: Electron, Node.js, React e AltJS.

GUI padrão para usuários Docker em Mac OS X e Windows, que faz parte do Docker Toolbox — um instalador de um conjunto de utilitários que inclui também Docker Engine, Compose e Machine. Possui um conjunto mínimo de funções que garantem o download de imagens do Docker Hub, gerenciamento das configurações básicas dos contêineres (incluindo volumes, redes), visualização de logs e conexão ao console.
Shipyard
- ; .
- Licença: Open Source (Licença Apache 2.0).
- SO: Linux, Mac OS X.
- Linguagens/plataforma: Go, Node.js.

Shipyard não é apenas uma interface, mas um sistema de gerenciamento de recursos Docker, cuja base é a presença de uma API própria. A API do Shipyard é RESTful com base no formato JSON, compatível 100% com a Docker Remote API, oferecendo funcionalidades adicionais (como autenticação e gerenciamento de listas de acesso, registro de todas as operações realizadas). Essa API é a base em torno da qual a interface web foi construída. Para armazenar informações operacionais que não estão diretamente relacionadas aos contêineres e imagens, o Shipyard utiliza o RethinkDB. A interface web permite gerenciar contêineres (incluindo visualização de estatísticas e logs, conexão ao console), imagens, nós do cluster Docker Swarm e repositórios privados (Registries).
Almirante
- ; .
- Licença: Open Source (Licença Apache 2.0).
- SO: Linux, Mac OS X, Windows.
- Linguagens/plataforma: Java (framework VMware Xenon).

Plataforma da VMware, destinada ao deployment automatizado de aplicativos em contêineres e ao gerenciamento deles durante seu ciclo de vida. Posiciona-se como uma solução leve, projetada para simplificar a vida dos engenheiros de DevOps. A interface web permite gerenciar hosts com Docker, contêineres (+ visualização de estatísticas e logs), templates (imagens integradas ao Docker Hub), redes, repositórios e políticas (quais hosts utilizarão quais contêineres e como distribuir recursos). Possui a capacidade de verificar o estado dos contêineres (health checks). É distribuído e implantado como uma imagem Docker. Funciona com Docker 1.12+. (Veja também a introdução ao programa no com muitas capturas de tela.)
DockStation
- ; (sem código-fonte).
- Licença: proprietária (freeware).
- SO: Linux, Mac OS X, Windows.
- Linguagens/plataforma: Electron (Chromium, Node.js).

DockStation é um projeto jovem, por programadores bielorrussos (que, aliás, para seu desenvolvimento futuro).As duas principais características são o foco em desenvolvedores (não em engenheiros de DevOps ou administradores de sistema) com suporte completo para Docker Compose e o controle fechado do código (gratuito para uso, mas os autores oferecem suporte pessoal e melhorias pagas). Permite não apenas gerenciar imagens (com suporte ao Docker Hub) e contêineres (+ estatísticas e logs), mas também criar projetos com visualização das conexões dos contêineres envolvidos. Além disso, há um parser (em versão beta) que permite converter comandos. docker run no formato Docker Compose. Funciona com Docker 1.10.0+ (Linux) e 1.12.0 (Mac + Windows), Docker Compose 1.6.0+.
Interface Docker Simples
- .
- Licença: Código Aberto (Licença MIT).
- SO: Linux, Mac OS X, Windows.
- Linguagens/plataforma: Electron, Scala.js (+ React em Scala.js).

Uma interface simples para trabalhar com Docker, utilizando a Docker Remote API. Permite gerenciar contêineres e imagens (com suporte ao Docker Hub), conectar-se ao console e visualizar o histórico de eventos. Inclui mecanismos para remover contêineres e imagens não utilizados. O projeto está em versão beta e se desenvolve muito lentamente (a atividade real, conforme os commits, diminuiu em fevereiro deste ano).
Outras opções
Não foram incluídos na revisão:
- — plataforma de gerenciamento de contêineres com recursos de orquestração e suporte ao Kubernetes. Código Aberto (Licença Apache 2.0); funciona no Linux; escrito em Java. Possui interface web. em Node.js.
- — uma plataforma "amigável ao desenvolvedor para executar contêineres em produção", que compete essencialmente com o Kubernetes, mas posicionada como uma solução mais pronta para uso "pronto para uso" e fácil de usar. Além do CLI e REST API, o projeto oferece uma interface web () para gerenciar o cluster e sua orquestração (incluindo o gerenciamento de nós do cluster, serviços, volumes, segredos), visualização de estatísticas/logs. Código Aberto (Licença Apache 2.0); funciona no Linux, Mac OS X, Windows; escrito em Ruby.
- — uma ferramenta simples, com funcionalidades e documentação mínimas. Código Aberto (Licença MIT); funciona no Linux (disponível apenas o pacote para Ubuntu); escrito em Python. Suporta Docker Hub para imagens, visualização de logs para contêineres.
- — um projeto que tinha como objetivo "tornar a implantação de aplicativos complexos em contêineres tão simples quanto arrastar e soltar". Para isso, foi criado um diretório de modelos para implantar aplicativos (), cujos resultados são exibidos ao pesquisar por imagens/aplicativos ao lado dos dados do Docker Hub. Código Aberto (Licença Apache 2.0); funciona no Linux, Mac OS X, Windows; escrito em Ruby. Integrado com o sistema operacional CoreOS e o sistema de orquestração Fleet. De acordo com a atividade visível na internet, deixou de ser mantido em 2015.
- — interface gráfica para gerenciamento de contêineres e imagens Docker. Código Aberto (Licença MIT); escrito em JavaScript/Node.js.
Por último: como é a interface GUI no Dockly? Cuidado, GIF de 3,4 MB!
P.S.
Confira também em nosso blog:
- «».
- «».
- «».
Fonte: habr.com
