Como instalar o Portainer para gerenciar contêineres pelo navegador

Atualizado em 21/09/2026 10 min Iniciante

O Portainer é uma interface web para o Docker. Serve para ver rapidamente o que está rodando, ler o log de um contêiner que caiu, reiniciar um serviço ou conferir quanto de memória cada coisa consome — sem abrir o SSH.

É especialmente útil quando mais de uma pessoa mexe no servidor, ou quando você precisa checar algo do celular.

Antes de começar

  • VPS com Docker — veja o guia de Docker.
  • Subdomínio apontado para o IP, por exemplo painel.seudominio.com.br.
  • Consumo baixo: cerca de 100 MB. Cabe em qualquer plano.

Suba o Portainer atrás de HTTPS

O Portainer precisa do socket do Docker para funcionar. Em vez de publicar a porta dele direto na internet, deixamos o Caddy na frente cuidando do certificado.

terminal
mkdir -p /opt/portainer && cd /opt/portainer

cat > docker-compose.yml <<'EOF'
services:
  portainer:
    image: portainer/portainer-ce:latest
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data

  caddy:
    image: caddy:2-alpine
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    environment:
      DOMINIO: painel.seudominio.com.br
      EMAIL: [email protected]
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy_data:/data
      - caddy_config:/config

volumes:
  portainer_data:
  caddy_data:
  caddy_config:
EOF

cat > Caddyfile <<'EOF'
{$DOMINIO} {
	tls {$EMAIL}
	reverse_proxy portainer:9000
}
EOF

docker compose up -d

Quem tem acesso ao Portainer tem, na prática, acesso root à VPS — o socket do Docker permite subir um contêiner privilegiado. Trate a senha dele com o mesmo cuidado da senha de root.

Crie a senha de administrador

Abra https://painel.seudominio.com.br nos primeiros minutos. O Portainer fecha o cadastro inicial por segurança se ninguém criar a conta logo — e aí é preciso reiniciar o contêiner para liberar de novo.

terminal
# se aparecer a mensagem de timeout do cadastro
docker compose restart portainer

Conheça o que importa no dia a dia

Três telas resolvem quase tudo:

  • Containers — estado, consumo e o botão de logs, que é onde você descobre por que algo parou.
  • Volumes — onde os dados moram de verdade. Útil antes de apagar qualquer coisa.
  • Stacks — os seus docker-compose.yml. Dá para editar e reaplicar por aqui, inclusive do celular.

Limite o acesso, se puder

Se você acessa sempre do mesmo lugar, restringir por IP no proxy é uma camada barata e eficiente.

terminal
cat > /opt/portainer/Caddyfile <<'EOF'
{$DOMINIO} {
	tls {$EMAIL}

	@permitido remote_ip 203.0.113.10 198.51.100.0/24
	handle @permitido {
		reverse_proxy portainer:9000
	}
	respond 403
}
EOF

docker compose restart caddy

Troque os endereços do exemplo pelo seu IP real. Se você usa internet móvel ou IP dinâmico, esta restrição vai te atrapalhar mais do que ajudar.

Se algo não funcionar

Mensagem de que o cadastro inicial expirou

É proteção do próprio Portainer contra instalações esquecidas abertas. Reinicie o contêiner e crie a senha em seguida: docker compose restart portainer.

O Portainer não lista nenhum contêiner

O socket do Docker não foi montado. Confirme a linha /var/run/docker.sock:/var/run/docker.sock no compose e recrie o contêiner.

VPS com acesso root e painel próprio

Console de emergência, reinstalação e snapshot pelo painel, sem depender de ticket.

Ver planos de VPS

Perguntas frequentes

O Portainer substitui a linha de comando?

Para o dia a dia, em boa parte: ver log, reiniciar, conferir consumo. Instalações novas e ajustes finos continuam mais rápidos pelo terminal, e é bom não perder a prática — se o Portainer cair, é pelo SSH que você resolve.

Existe versão paga?

Sim, a Business, com recursos de equipe e permissões granulares. A Community Edition, usada aqui, é gratuita e suficiente para um servidor único.

Continue por aqui