O Portainer é uma solução de gerenciamento de contêineres de código aberto para Docker, Kubernetes e Nomad que simplifica iniciar, criar e executar contêineres de maneira fácil. Portainer fornece um painel de controle baseado na Web para gerenciar contêineres, imagens, redes e volumes. Inclui ainda uma seleção de templates(apps)
Neste tutorial, vamos instalar e configurar o Portainer em um servidor Linux com Ubuntu 20.04 LTS e usá-la para criar e gerenciar contêineres Docker para executar diferentes aplicativos. Vamos ainda aprender a colocar o portainer atrás do gerenciador de proxy reverso Nginx proxy.
1- Configure o Firewall
Verifique se o Firewall está ativo e habilite se necessário.
Abra as portas 80, 443, 9443, 81, 22
reload no firewall
2- Instalação do Docker
Habilite o serviço do Docker
3 – Instale o Docker Compose
Aplique permissão executável ao binário
3 – Instalação do Portainer
Crie um diretório para o portainer e acesse a seguir
Crie o arquivo abaixo para o docker-compose
Cole o código abaixo no arquivo
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Inicie o portainer
4 – Acesse e configure Portainer
Abra a URL https://<ipdoseuservidor>:9443
Você verá a seguinte tela abaixo. Crie o usuário admin , senha e clique “Create User”
Você será direcionado a tela abaixo. Clique no menu Home
Em Home você verá “local” no qual o Portainer está sendo executado. Clique em local para começar.
A maioria das seções são autoexplicativas. A Stacks ajuda na criação de contêineres usando arquivos de composição do Docker. Você pode implantar contêineres diretamente usando a Contêineres na barra lateral. Você pode configurar o ambiente do docker atual por meio da Hosts . App Templates vem com arquivos de composição do Docker pré-instalados para instalar os aplicativos mais comuns. Você também pode criar modelos personalizados ou utilizar uma lista de Templates externos como por exemplo Templates App .
A seção Configurações(Settings) permite definir várias configurações, como adicionar registros personalizados do Docker, adicionar vários hosts para o Docker swarm, configurar o acesso do usuário, fazer backup de dados , personalizar o Portainer, Adicionar nova lista de Templates.
5 – Portainer atrás de um proxy reverso utilizando Nginx Proxy Manager
Precisaremos de um subdomínio apontando para o IP do servidor. Ex portainer.dominio.xx .O Nginx Proxy Manager é um aplicativo Docker que fornece uma interface do usuário de gerenciamento da Web para configurar o Nginx como um host de proxy reverso. Ele também pode ser usado como um redirecionamento ou um host de streaming.
Instalar NPM
A primeira etapa é criar uma rede para o Nginx Proxy Manager (NPM). Abra a Networks e clique no botão Add Network para criar uma nova rede. Dê um nome, mantenha os outros campos sem alteração.
Clique em Create the Network
Clique em Stacks e crie uma nova Stack utilizando Add Stack botão com nome nginx-proxy-manager
. Em Web Editor cole o código abaixo:
Vamos adicionar 2 variáveis neste Stack, uma para usuário mysql e outra para root mysql. Role a página e clique no botão “Add an environment variable” 2 vezes.
O primeiro campo preencha com DB_MYSQL_PASSWORD e a frente em value , defina uma senha segura.
O segundo campo preencha com MYSQL_ROOT_PASSWORD e a frente em value, defina uma senha segura.
Clique em Deploy the stack para criar e iniciar NPM Container.
Acesse a URL http://<ipdoservidor>:81
Usuário: admin@example.com
Senha: changeme
Após o login altere seu usuário e senha para sua segurança.
No Nginx Proxy Manager
Visite Host >> Proxy Hosts e clique no botão Add Proxy Host .
Neste ponto iremos utilizar o subdomínio apontando para o ip do servidor.
Digite o nome de domínio como portainer.seudominio.com.
Escolha o esquema como https.
Digite o nome do contêiner como o host de encaminhamento e 9443 como a porta de encaminhamento . Habilite as opções Block Common Exploits e Websockets Support.
Alterne para a aba SSL
Em SSL Certificate altere para “Request a new SSL Certificate”.
Habilite Force SSL e HTTP/2 Support. Em e-mail informe seu e-mail .
Para finalizar habilite I Agree to the Let´s Encrypt Terms of Service.
Clique em Save
Configuramos o host Proxy, mas o contêiner ainda não está conectado à rede NPM.
Volte para o painel do Portainer, visite a Containers e selecione o Portainer .
Localize a opção Connected networks e a frente de Join a network selecione npm-network. Clique no botão Join Network
Neste ponto você conseguirá acessar o portainer com https://portainer.seudominio.com
Portainer possui muitos outros recursos que facilitam o trabalho com Docker, Kubernetes , Nomad com bastante documentação . Espero que tenha gostado desta iniciação.