Gerencie seus containers com Portainer
Uma das tendências atuais no mundo DevOps é executar os nossos desenvolvimentos em ambiente container, para aproveitar as vantagens que nos proporcionam, por termos ambientes de desenvolvimento e execução controlados e facilmente replicáveis. Docker é uma das plataformas de containers mais utilizadas na indústria e podemos utilizá-la para executar aplicações em nossos computadores pessoais durante o desenvolvimento de software, bem como em servidores produtivos, geralmente em sistemas operacionais Linux.
Os contêineres Docker podem ser gerenciados por meio da linha de comando ou CLI, mas isso pode ser complicado. Felizmente, existem várias ferramentas gráficas de administração que facilitam o gerenciamento de contêineres de forma amigável e poderosa.
Uma das ferramentas mais utilizadas é o Portainer, que oferece uma edição gratuita chamada Portainer Community Edition ou Portainer CE. Neste artigo mostraremos como instalá-lo e configurá-lo para facilitar o gerenciamento de seus containers. Mãos à obra!
Instalação e configuração do Portainer CE
O Portainer CE é executado como um contêiner Docker normal. A versão 2.19.5 do aplicativo é a mais recente atualmente e requer Docker versão 23.0.6 ou superior. O procedimento de instalação é muito simples e consiste em quatro etapas:
Passo 1: Crie um volume docker para armazenar o banco de dados Portainer CE
# docker volume create portainer_data
portainer_data
Passo 2: Baixe e execute o contêiner do aplicativo
O Portainer CE publica seus containers no repositório Docker Hub para que o download seja feito automaticamente:
# docker run -d -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
Unable to find image 'portainer/portainer-ce:latest' locally
latest: Pulling from portainer/portainer-ce
57654d40e0a5: Pull complete
1f476acfabd6: Pull complete
5171176db7f2: Pull complete
52e9438966a5: Pull complete
43d4775415ac: Pull complete
c1cad9f5200f: Pull complete
a5e2b359b78b: Pull complete
eb172612bcbb: Pull complete
6be7b2acffb5: Pull complete
391dff0fb880: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:4a1ceadd7f7898d9190ee0a6d22234c4323aefd80e796e84f5e57127f74370f1
Status: Downloaded newer image for portainer/portainer-ce:latest
77d3cc774600cf5f9d1236a2e632402b7380f6bbec3b402cf215643d55e39e3e
Neste ponto, o container Portainer CE já está rodando em nosso computador, então podemos validá-lo com o seguinte comando:
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
77d3cc774600 portainer/portainer-ce:latest "/portainer" 2 minutes ago Up 2 minutes 8000/tcp, 9000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp portainer
Passo 3: Entrar no Portainer
Para iniciar a configuração da aplicação é necessário acessar a URL do Portainer CE com nosso navegador: https://<ip-do-computer>:9443. Em vez de <ip-do-equipo>, devemos inserir o endereço IP do nosso computador ou servidor onde estamos instalando.
Assim que entrarmos na liga, veremos uma tela como a seguinte, onde devemos inserir uma senha forte de pelo menos 12 caracteres. Pressionaremos mais tarde Create user.
Passo 4: Configuração do Portainer
A última etapa é configurar o Portainer CE para gerenciar contêineres Docker. Selecionaremos a opção Get Started para poder gerenciar os contêineres executados em nosso computador local.
Neste momento o Portainer CE está pronto para uso e nos apresenta uma tela inicial onde podemos visualizar nosso ambiente de execução e suas características básicas: quantidade de RAM, CPUs, quantidade de containers, imagens, volumes, etc.
Gerenciando contêineres
Para exemplificar as funcionalidades que o Portainer CE nos fornece, utilizaremos a ferramenta para criar, executar e excluir um contêiner Docker do servidor web nginx. Para criar o container, selecionaremos a opção do menu esquerdo Containers. Na seção direita da tela, pressionaremos Add container:
Enseguida, en el campo Name proporcionaremos un nombre para nuestro contenedor: nginx. En Image, llenaremos el nombre de la imagen que requerimos instalar, que está publicada en el registro de contenedores de Docker Hub: nginx. Habilitaremos el selector etiquetado con Publish all exposed network ports to random host ports, para que Portainer CE asigne un puerto TCP aleatorio para acceder desde nuestro navegador. Enseguida presionamos Deploy the container, con lo que Portainer CE descargará la imagen del contenedor Docker desde Docker Hub y la ejecutará. Este proceso tomará un par de minutos.
Ao final da instalação, Portainer CE nos mostrará a lista de containers, onde veremos o container nginx que acabamos de criar, e nos mostrará a porta para acessá-lo, neste caso 32768:
Em nosso navegador ao abrir a URL http://<ip-del-servidor>:32768/, veremos a página nginx padrão, com a qual verificamos se nosso contêiner nginx está funcionando corretamente:
As principais funcionalidades que o Portainer CE nos oferece para gerenciar contêineres encontram-se na coluna Quick Actions na visualização de lista dos contêineres:
Logs: Permite-nos consultar o log de execução do contentor, filtrá-los por palavras-chave ou descarregá-los para a nossa equipa.
Inspect: Ele nos fornece detalhes técnicos dos recursos do contêiner. É útil para diagnosticar falhas.
Stats: Ele nos mostra estatísticas de execução do contêiner, como uso de memória, CPU, rede e processos:
Agora, removeremos o contêiner nginx para finalizar nossa demonstração. Na lista de containers, marcaremos a caixa correspondente e clicaremos no topo Remove:
A Portainer CE nos solicitará uma confirmação que devemos confirmar com Remove e nosso contêiner nginx e os recursos que ele estava usando serão liberados.
Conclusões
Esta foi uma demonstração das funcionalidades básicas de gerenciamento de contêineres do Docker usando o Portainer CE. A ferramenta possui muito mais funcionalidades, incluindo o gerenciamento de containers em ambiente Kubernetes, por isso será muito útil se você puder acompanhar esta demonstração em seu próprio computador para poder aproveitar seus benefícios no seu dia a dia como desenvolvedor ou administrador da plataforma.
Tenho certeza que esses tipos de ferramentas irão ajudá-lo a ser mais eficiente em suas atividades e a ter mais tempo livre para continuar crescendo neste amplo mundo do desenvolvimento de Software.
Boa sorte e sucesso em seu caminho!
A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.