Como começar a usar o Portainer, uma interface de usuário da Web para Docker
O Portainer é uma interface de usuário popular do Docker que ajuda você a visualizar seus contêineres, imagens, volumes e redes. O Portainer ajuda você a controlar os recursos do Docker em sua máquina, evitando longos comandos de terminal.
O Portainer alcançou recentemente a versão 2.0, que adicionou suporte para clusters Kubernetes. A ferramenta também suporta ambientes Docker Swarm e Azure ACI. Neste tutorial, simplificaremos e usaremos o Portainer para gerenciar uma instalação local do Docker.
Duas edições do software estão disponíveis, o CE gratuito e de código aberto e o comercial Business. Os recursos extras do Business concentram-se principalmente em acesso aprimorado, gerenciamento de cotas e controles administrativos.
Instalar Portainer
Certifique-se de ter o Docker instalado e em execução antes de prosseguir. O Docker 19.01 é necessário para que todos os recursos do Portainer sejam totalmente suportados.
Primeiro de tudo, você precisará criar um novo volume do Docker. O Portainer usará isso para armazenar seus dados persistentes. O nosso será chamado portainer_data
.
docker volume create portainer_data
Em seguida, use o Docker para iniciar um novo contêiner Portainer:
docker run -d -p 9000:9000 --name=portainer --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
Este comando irá puxar a imagem portainer/portainer-ce
e iniciar um novo container a partir dela. O contêiner será desanexado e executado em segundo plano (-d
).
O volume criado anteriormente é montado em /data
dentro do contêiner, onde o Portainer armazena todos os dados do aplicativo. O soquete do Docker do host também é montado no contêiner, para que o Portainer tenha acesso à instância do Docker da sua máquina. Por fim, a porta 9000 no host é vinculada à porta 9000 no contêiner. Esta é a porta em que o Portainer expõe sua IU da web.
Primeira corrida
Agora você pode acessar o Portainer visitando http://localhost:9000
em seu navegador. Você precisará definir uma senha para o usuário admin
no primeiro uso. Você chegará à tela inicial.
Antes de começar a usar o Portainer, vale dar uma olhada nas opções de configuração do próprio app. Clique no link Configurações no menu de navegação à esquerda. Aqui, você pode alterar as configurações de segurança do Portainer, definir um logotipo de aplicativo personalizado e desativar a coleta de estatísticas de uso anônimas. A maioria das configurações deve ser bastante auto-explicativa, com a maioria focada em limitar o poder concedido a usuários não administradores.
O submenu “Autenticação” na barra de navegação permite configurar como os usuários fazem login no Portainer. Portainer usa seu próprio sistema interno de gerenciamento de usuários por padrão, mas você pode optar por usar um servidor LDAP existente ou provedor OAuth. Selecione o método a ser usado e preencha os campos do formulário para configurar seu sistema de autenticação preferido. Ao usar o banco de dados de usuários embutido, você pode usar o link “Usuários” no menu lateral para criar usuários adicionais e classificá-los em equipes.
Terminais
O Portainer permite gerenciar vários endpoints do Docker. Para começar, você verá um único endpoint “local”, representando o Docker Engine rodando em sua própria máquina.
Para adicionar um endpoint adicional, clique no link “Endpoints” na barra lateral. Em seguida, clique no botão azul “Adicionar endpoint”. Escolha o tipo de terminal que você usará e forneça os detalhes da sua conexão.
Se tudo correr bem, você poderá adicionar seu endpoint. Ele aparecerá como um novo bloco selecionável na tela inicial do Portainer. Orientações detalhadas sobre como adicionar terminais adicionais estão fora do escopo deste guia introdutório, pois o sucesso exigirá a configuração correta do host ao qual você está se conectando.
Gerenciando Contêineres
Agora você está pronto para começar a usar o Portainer para interagir com o Docker. Na tela inicial, clique no endpoint “local”. Ele será selecionado no Portainer, dando a você acesso à interface do usuário de gerenciamento completa. Você chegará a um painel simples que oferece uma visão geral de seus contêineres, imagens e volumes.
Clique em “Contêineres” no painel ou na barra lateral para abrir a tela de gerenciamento de contêineres. Você verá uma tabela exibindo todos os seus contêineres do Docker.
Para executar uma ação em um contêiner, clique na caixa de seleção ao lado de seu nome. Agora você pode usar a linha de botões na parte superior da tela para iniciar, parar, reiniciar ou remover o contêiner. Os contêineres que estão em execução no momento mostrarão um estado “em execução” verde, enquanto os parados terão um “parado” vermelho.
Se você estiver usando uma nova instalação do Docker, seu único contêiner pode ser o próprio Portainer. Tome cuidado para não interromper este contêiner, pois ele está servindo à interface do usuário da Web do Portainer que você está usando!
Clique no nome de um contêiner para visualizar e alterar seus detalhes. Essa tela permite inspecionar as propriedades do contêiner, criar uma nova imagem do Docker a partir de seu estado atual e gerenciar suas conexões de rede.
Na parte superior da tela, você encontrará cinco botões em “Status do contêiner” que permitem visualizar os logs do contêiner (“Logs”), inspecionar seu manifesto Docker (“Inspecionar”), visualizar estatísticas de uso de recursos (“Estatísticas” ), acessar um console interativo (“Console”) ou anexar um console ao processo de primeiro plano no contêiner (“Attach”).
Criar um contêiner
Para criar um novo contêiner, retorne à tela Containers e clique no botão azul “Adicionar contêiner”. Você também pode editar um contêiner existente – efetivamente destruindo-o e substituindo-o por um novo com propriedades modificadas – usando o botão “Duplicar/Editar” na tela de detalhes do contêiner. Ambas as operações exibem a mesma interface.
Primeiro, digite um nome para seu novo contêiner. Em seguida, especifique a imagem do Docker a ser usada. Para imagens públicas no Docker Hub, como wordpress:latest
, você pode digitar um nome de imagem sem fornecer nenhuma configuração adicional.
Para usar imagens armazenadas em um registro privado, primeiro você precisa adicionar os detalhes do registro ao Portainer. Clique no link “Registros” sob o cabeçalho Configurações na barra lateral esquerda. Pressione o botão azul “Adicionar registro” e defina a URL, nome de usuário e senha do seu registro. Você poderá selecioná-lo no menu suspenso Registro na tela de criação do contêiner. Você também pode usar a tela Registros para definir credenciais para conexões do Docker Hub, permitindo que você extraia imagens privadas e evite os limites de taxa aplicados a usuários não autenticados.
Agora você está pronto para implantar seu contêiner pressionando o botão Implantar o contêiner na parte inferior do formulário. Antes de prosseguir, revise as configurações adicionais que são exibidas acima do botão. Você pode configurar a ligação de porta, forçar o Portainer a extrair a imagem antes de implantar e optar por remover o contêiner automaticamente quando ele sair.
Na parte inferior da tela, você encontrará uma interface de usuário de configurações avançadas que oferece ainda mais opções – muitas para cobrir exaustivamente aqui. Eles replicam toda a funcionalidade do comando CLI docker run
, permitindo que você configure o comando, o ponto de entrada, os volumes, as interfaces de rede e as variáveis de ambiente do contêiner. Grande parte dessa interface do usuário deve parecer intuitiva se você já estiver familiarizado com os recursos do Docker.
Usando Pilhas de Contêineres
A tela de criação do contêiner permite que você gire apenas um contêiner por vez. O Portainer possui suporte integrado para “stacks” que permitem implantar contêineres vinculados. Essa funcionalidade é baseada na versão 2 do docker-compose
.
Clique no item “Pilhas” na barra de navegação e pressione o botão “Adicionar pilha”. Não há suporte para criar pilhas graficamente – você precisa colar ou fazer upload de um arquivo docker-compose.yml
. Você também pode optar por se conectar a um repositório Git e usar seu docker-compose.yml
diretamente.
Antes de implantar a pilha, você pode definir as variáveis de ambiente que serão disponibilizadas aos contêineres. Escolha qual nível de controle de acesso do Portainer aplicar e clique em “Implantar a pilha”. O Portainer extrairá todas as imagens e criará todos os contêineres especificados pelo arquivo Compose.
Selecione sua pilha na tela Pilhas para gerenciar seus contêineres coletivamente. Você pode parar todos os contêineres na pilha ou deletar a pilha completamente, usando os botões na parte superior da tela. Também há controles para duplicar a pilha ou criar um modelo reutilizável a partir de seu estado atual.
Os modelos podem ser acessados na tela de criação da pilha e permitem que você crie rapidamente novas instâncias de serviços usados com frequência. O Portainer também vem com vários modelos integrados, acessíveis a partir do link “App Templates” na barra de navegação.
Conveniência do Portainer
O Portainer ajuda você a criar, gerenciar e monitorar contêineres do Docker rapidamente. Ele fornece uma interface gráfica para comandos Docker CLI que às vezes podem se tornar longos e difíceis de manejar. Ele também torna o Docker acessível a usuários que podem não estar familiarizados com interfaces de linha de comando.
Além de seus recursos de gerenciamento de contêineres, o Portainer também fornece visibilidade de outros recursos fundamentais do Docker. A tela Imagens permite que você visualize, extraia, importe, exporte e exclua as imagens disponíveis em seu endpoint. As telas Redes e Volumes atuam de forma semelhante, enumerando e fornecendo controle sobre seus respectivos recursos. Por fim, a tabela Eventos oferece uma lista abrangente de todas as ações executadas pelo mecanismo do Docker. Isso pode ser útil ao revisar ações anteriores e identificar quando determinados contêineres foram criados ou destruídos.