Interface Gráfica para Docker.

Este post é mais uma breve pausa na série sobre Docker… mas é para falar sobre interface gráfica para Docker. Então tudo bem. Acredito que não tem problema, certo? Vou falar sobre duas ferramentas: o Portainer e o Docker Swarm Visualizer.

Docker Swarm Visualizer

Vou começar por esta ferramenta. Ela é open source e seu fonte (e instruções de uso) podem ser encontrados no Github!

Alguns pontos de atenção:

  1. Funciona apenas no Docker Engine versão 1.12.0 ou superior.
  2. Foi feito para uso em ambientes de desenvolvimento ou para demonstrações. O autor não recomenda o uso desta ferramenta em produção.

 

Ok. Para executar o Docker Swarm Visualizer, utilize o comando abaixo:

docker run -it -d -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock dockersamples/visualizer

No comando, veja que estamos redirecionamento a porta 8080 do localhost para a 8080 do container. Caso a porta 8080 já esteja ocupada na maquina local (localhost), altere para outro valor. Lembrando que a porta que deve ser alterada é a da maquina local (<localhost>:<container>).

 

Se a imagem não existir no seu computador, o Docker irá baixa-la e depois criará um container para esta ferramenta.  Como fizemos o bind com a porta 8080, assim que o comando for executado, você poderá acessar http://localhost:8080, que já visualizará as informações.

No caso, não criamos nenhum cluster, então não da para ver a ferramenta funcionando direito. Sendo assim, siga os passos do último post (Trabalhando com clusters no Docker Swarm)  até o concluir o passo “Criando serviço no Swarm”. Quando terminar, você terá um cluster com 5 nodes e 10 containers rodando o serviço do redis.

Ao acessar novamente a página da ferramenta (ou ao atualiza-la), será exibida uma tela tela com todos os nodes e quantos containers estão rodando neles.

 

 

Não é exatamente a interface mais bonita do mundo, mas te mostra (de uma forma amigável) onde estão os containers.

  • Se um container cair, o highlight dele vai passar de verde para vermelho, depois será removido da lista, o que vai abrir espaço para que outro container tome seu lugar.
  • Se um node cair, o ícone dele passará de verde para vermelho e os containers que existiam lá serão redistribuídos.

Como o próprio nome diz, esta ferramenta permite visualizar o status do seu cluster de uma forma rápida e prática.

 

 

Portainer

Bom, esta ferramenta é muito mais robusta que a anterior. Quando você instala, ele mostra uma home page com todos os endpoints e seus respectivos status, possui também um dashboard e outros utilitários bem interessantes. Uma das grandes vantagens do Portainer é que ele te permite manipular o Docker, suas imagens, containers e clusters. Ele é free, mas possui suporte para uso comercial… então este é mais aconselhável para uso em produção.

 

Para instalar utilize os comandos abaixo:

docker volume create portainer_data
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

(se você não lembra o que estes comandos fazem, confira meus posts anteriores sobre comandos do Docker.)

 

Assim como no Docker Swarm Visualizer, fazemos o bind de uma porta da maquina local para o container, mas o Portainer utiliza a porta 9000 por padrão. Quando você acessa o Portainer pela primeira vez, ele pede para você criar um usuário administrador, depois ele te da 4 opções:

  1. Gerenciar um ambiente Docker local;
  2. Gerenciar um ambiente Docker remoto;
  3. Utiliza um agente do Portainer que estiver sendo executado em um cluster;
  4. Gerenciar um ambiente Docker hospedado no Azure

 

O que queremos aqui é selecionar a primeira opção. Vamos gerenciar o serviço criado, mas ele está no mesmo ambiente. Utilizar os agentes do portainer exigem um pouco mais de configuração, sendo assim, para reforçar, selecione a primeira opção (Docker Local). A visualização e gerenciamento de alguns recursos  do cluster não estarão disponíveis sem a utilização dos agentes, mas para este exemplo é mais que suficiente.

Quando a home carregar, clique no endpoint que está listado e você vai ver o dashboard dele…

 

 

Agora clique no menu Swarm e depois do link Go to cluster visualizer.

 

 

Nesta tela, você tem as mesmas informações que o Docker Swarm Visualizer te fornece, mas com mais detalhes e ferramentas que te permitem gerenciar o cluster pela interface gráfica. Sugiro navegar pelas opções do Portainer e ver tudo que ele pode fazer. É uma ferramenta bem legal e que pode ser incluída nos scripts do Docker.

 

Por enquanto é só. Espero ter ajudado.

The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Posted in Conhecimento Técnico, Dev, Docker and tagged , , , .