Interface Gráfica para Docker.
Overview
Neste post, faremos uma pausa na nossa jornada através do universo Docker para explorar duas ferramentas essenciais que vão mudar a forma como você interage com seus containers: o Portainer e o Docker Swarm Visualizer. Vamos desvendar, de maneira leve e descontraída mas mantendo o foco, como essas interfaces gráficas podem oferecer um controle e visualização sem precedentes dos seus clusters e containers. Prepare-se para adicionar mais estas duas poderosas ferramentas ao seu arsenal de desenvolvimento 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:
- Funciona apenas no Docker Engine versão 1.12.0 ou superior.
- 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:
- Gerenciar um ambiente Docker local;
- Gerenciar um ambiente Docker remoto;
- Utiliza um agente do Portainer que estiver sendo executado em um cluster;
- 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.
Postagens nesta série
- [resolvido] Docker Desktop iniciando com o Windows.
- Comandos básicos do Docker, parte 2.
- Controlando Docker Remotamente.
- Criando uma nova imagem no Docker
- Criando uma nova imagem no Docker, Parte 2: Agora com argumentos.
- Interface Gráfica para Docker.
- Introdução ao Docker
- O que é e como usar o Docker Stack.
- Trabalhando com clusters no Docker Swarm
- Um pouco sobre Docker Compose