Como Executar Docker e Portainer em um VPS (Guia 2026)

Publicado: por Dallas Kashuba
Como Executar Docker e Portainer em um VPS (Guia 2026) thumbnail

Já ouviste falar de Dockerception?

Bem, segure o seu chapéu. Estamos descendo pela toca do coelho.

Portainer, a interface web que você está prestes a instalar sobre o Docker, é ele mesmo um container Docker.

É uma ferramenta que funciona exatamente naquilo que ela gerencia. Você a inicializa com uma linha de docker run, e a primeira coisa que ela faz é alcançar através de um pequeno buraco no host (um arquivo de socket) e pedir ao daemon do Docker para mostrar todos os outros contêineres, incluindo a si mesmo. A partir dessa aba do navegador, você pode atualizar o Portainer. Reiniciar o Portainer. E gerenciar todos os seus outros contêineres Docker.

A interface que você está vendo está a apenas um clique de remover a interface que você está vendo.

Em um VPS onde você já está pagando pelo box e já está confortável com SSH, o Portainer se encaixa perfeitamente em cima do Docker sem alterar o funcionamento de nada por baixo.

Esse é o valor.

Uma caixa de 4 GB executa Docker, Portainer e uma pequena frota de aplicativos auto-hospedados sem esforço. E fica por volta do custo de um par de assinaturas de streaming por mês. Suficiente para executar a automação residencial, o armazenamento de fotos da família, o assistente de IA e o boletim informativo que você tem ameaçado lançar — em um servidor que você realmente possui.

Aqui está como fazê-lo funcionar, protegê-lo e começar a ver valor.

O Que É Portainer, Exatamente?

Arquitetura Portainer mostrando o socket do Docker conectando portainer.io dentro de uma VPN ao navegador para gerenciamento remoto do Docker.

Portainer é uma interface web que roda como um contêiner Docker e gerencia seus outros contêineres através do socket Docker.

É basicamente um frontend baseado em navegador para os mesmos comandos Docker que você digitaria manualmente, além de gerenciamento de pilha, acesso baseado em funções (se você fizer upgrade) e uma visão do painel de controle de CPU e memória.

A conexão de socket é o que faz funcionar. A vinculação parece com -v /var/run/docker.sock:/var/run/docker.sock no comando de instalação, e essa única linha está fazendo todo o trabalho pesado. Sem ela, o Portainer é uma interface para um host Docker vazio. Com ela, o Portainer é o controle remoto do host Docker.

Uma coisa a ter em mente: qualquer processo que possa alcançar /var/run/docker.sock pode efetivamente executar qualquer coisa como root no host. Isso é uma funcionalidade quando é o Portainer que faz o pedido e um problema quando é algum contêiner que você iniciou na semana passada e esqueceu que tinha dado acesso ao socket.

Trate a vinculação do socket como uma capacidade privilegiada e audite todos os outros contêineres que desejam uma.

Receba conteúdo diretamente na sua caixa de entrada

Inscreva-se agora para receber todas as últimas atualizações, diretamente na sua caixa de entrada.

Você Precisa de Portainer Se Já Tem Docker?

Não. Docker funciona bem a partir do terminal, e muitas pessoas executam alguns contêineres por anos sem nunca instalar uma interface gráfica por cima.

Você quer Portainer se:

  • Você vai manipular mais de dois ou três containers Docker em diferentes apps.
  • Você prefere clicar em “reiniciar” do que redigitar um comando Compose às 23h.
  • Você está compartilhando acesso com alguém que não vive em um terminal.
  • Você quer implantar atualizações de stack de um repositório Git sem escrever um script de implantação.

Pule o Portainer se:

  • Você está executando um ou dois contêineres que raramente mudam. 
  • Você já está confortável com o Docker Compose e está feliz em continuar usando.

O próprio Docker é suficientemente popular para que isso não seja uma decisão marginal. De acordo com a Pesquisa de Desenvolvedores do Stack Overflow de 2025, o Docker é a plataforma de contêineres mais adotada entre os desenvolvedores, com mais de 70% de uso — o maior salto de um ano para outro de qualquer tecnologia que a pesquisa acompanha. O projeto Portainer tem aproximadamente 37.000 estrelas no GitHub.

Outras opções existem. Coolify avança mais em direção a abstrações no estilo PaaS, e Dokploy se situa em um território similar com uma pegada mais leve — mas Portainer é o primeiro que a maioria dos guias de instalação escolhe.

Se você vive em tmux e executa um aplicativo, feche esta aba. Você está bem. Se você está executando quatro aplicativos auto-hospedados e pesquisou “Quais são os registros do Docker novamente?” duas vezes este mês, continue lendo.

Qual o Tamanho de Um VPS Necessário Para Executar o Docker e o Portainer?

Um VPS de 4 GB lida confortavelmente com o Portainer e um pequeno conjunto de contêineres de projetos paralelos.

Portainer recomenda um host com pelo menos 2 GB de RAM e 1 núcleo de CPU, embora o processo do Servidor Portainer fique ocioso em torno de 100 MB. O daemon do Docker adiciona algumas centenas de MB de sobrecarga antes de qualquer um dos seus aplicativos começar.

Veja como isso se aplica a cargas de trabalho reais:

Tabela comparando os requisitos de carga de trabalho do VPS: aplicativo único precisa de 4 GB, Nextcloud precisa de 8 GB, GitLab com CI/CD precisa de 16 GB de RAM.

Na DreamHost, nosso VPS Auto-gerido oferece quatro níveis baseados em RAM (Stack 4, 8, 16 e 32), com o nível inicial Stack 4 dimensionado exatamente para este tipo de pequeno host Docker. (E sim, armazenamento NVMe e acesso Root completo estão incluídos.)

Se estás indeciso sobre se a hospedagem própria vale a pena, o Stack 4 é o tamanho onde a matemática começa a trabalhar a teu favor desde o primeiro dia.

Uma Nota Sobre Armazenamento: A pegada de armazenamento do Portainer é mínima — ele armazena apenas seu próprio banco de dados de configuração. A própria documentação do Portainer recomenda desempenho de nível SSD (≈3.5 MB/s contínuos, mais de 30.000 IOPS, <10ms de latência de escrita), o que qualquer unidade NVMe moderna supera confortavelmente. O disco só se torna uma preocupação real se você estiver executando contêineres pesados em banco de dados como Postgres ou MySQL ao lado dele. Se seu VPS estiver em um disco rígido em 2026, a interface do usuário do Portainer parecerá lenta muito antes da RAM. Nosso conselho: atualize o disco antes do plano.

Como Instalar Docker e Portainer em um VPS?

Formulário inicial de configuração do Portainer.io para criação de conta de administrador com nome de usuário, senha com mínimo de 12 caracteres e coleta de estatísticas opcional.

Leva seis passos e cerca de 30 minutos, a maior parte do tempo esperando pelas transferências de imagens.

1. Escolha Uma Distribuição Linux

Ubuntu 22.04 ou 24.04 LTS é o caminho de menor resistência. O Ubuntu é o que o VPS Auto-Gerenciado da DreamHost utiliza por padrão, e a maioria dos trechos de instalação do Docker e tópicos de ajuda da comunidade pressupõem isso. Debian e AlmaLinux também funcionam, no entanto.

Não tem certeza de qual versão do Ubuntu você está utilizando? Aprenda cinco maneiras de verificar.

2. Instale o Docker do repositório oficial

Não apt install docker.io. Isso instala uma versão mais antiga do Docker do arquivo Ubuntu.

Em vez disso, use o próprio repositório apt do Docker conforme as documentações oficiais de instalação do Docker, que adiciona a chave GPG do Docker, o repositório e docker-ce mais o plugin Compose de uma só vez.

3. Verifique Se O Docker Está Em Execução

Execute docker run hello-world.

Se você não receber a mensagem “Hello from Docker!”, corrija o daemon antes de adicionar o Portainer por cima.

4. Crie um volume persistente para os dados do Portainer

Em seguida, execute docker volume create portainer_data.

Manter o banco de dados do Portainer em um volume Docker (não dentro do container) significa que um upgrade do Portainer não apagará sua configuração.

5. Execute a Edição Comunitária do Portainer

Utilize o comando oficial de instalação do documento de instalação do Portainer para Linux:

  docker run -d 
  -p 8000:8000 
  -p 9443:9443 
  --name portainer 
  --restart=always 
  -v /var/run/docker.sock:/var/run/docker.sock 
  -v portainer_data:/data 
  portainer/portainer-ce:lts

Vamos analisar isso linha por linha:

  • -d executa em modo desanexado.
  • -p 9443:9443 é a interface do usuário web do Portainer em HTTPS.
  • -p 8000:8000 é o túnel do Edge Agent; só precisas dele se fores conectar ambientes remotos (Docker, Swarm ou Kubernetes) através dos Edge Agents mais tarde, então descarta-o numa instalação em único anfitrião.
  • --restart=always faz com que o Portainer reinicie após um reboot.
  • -v indica as bandeiras para ligação de socket e o volume persistente do passo 4.
  • :lts a tag é o canal de suporte a longo prazo do Portainer — a construção estável, recomendada para produção.

6. Abra a Interface e Crie Sua Conta de Administrador

Aponte seu navegador para https://YOUR_VPS_IP:9443.

Clique para passar pelo aviso de certificado autoassinado. Você chegará na tela de “criar o usuário administrador inicial”. Escolha um nome de usuário que não seja admin, defina uma senha forte e guarde-a em algum lugar seguro. E… você está dentro!

Por Que o Portainer Acabou de Expirar Em Mim?

Porque o Portainer espera exatamente cinco minutos para alguém reivindicá-lo na primeira instalação. Se ninguém o fizer, ele trancará a porta.

Verbatim de FAQ próprio da Portainer:

Como medida de segurança, quando o Portainer é instalado pela primeira vez, ele aguardará 5 minutos para que um usuário administrador seja criado. Se um usuário não for criado dentro desses 5 minutos, o Servidor Portainer deixará de responder às solicitações.

Tradução: se você passou a Etapa 5 fazendo um sanduíche, agora sua instalação se recusa a falar com você —e você não fez nada de errado.

A correção é simples. Execute docker restart portainer.

Isso reinicia o contêiner, oferece mais cinco minutos e te direciona para a tela de criação de administrador. Repita conforme necessário. Bem-vindo à auto-hospedagem.

Se estiver programando a instalação para uma frota (Ansible, Terraform, um pipeline de implantação), o Portainer aceita uma flag --admin-password-file na inicialização que ignora o temporizador inteiramente, criando o usuário admin a partir de um arquivo na primeira execução. O documento de instalação cobre a sintaxe. Para uma instalação VPS única, o truque de reiniciar é suficiente.

Como Você Impede o Docker de Ignorar Seu Firewall?

Comparação de firewall Docker: sem a regra DOCKER-USER permite acesso irrestrito ao contêiner, com a regra DOCKER-USER adiciona proteção de firewall.

Isso surpreende as pessoas na produção, não apenas no desenvolvimento — então preste atenção.

Quando você docker run -p 80:80, a porta publicada é acessível pela internet pública mesmo se ufw status mostrar a porta 80 como negada. O Docker direciona o tráfego do contêiner na tabela NAT, o que significa que os pacotes são desviados antes de alcançarem as cadeias INPUT e OUTPUT que o UFW utiliza.

O UFW não está quebrado. Ele está apenas no corredor errado.

A correção que o próprio Docker recomenda é a cadeia de iptables DOCKER-USER, reservada para regras do administrador para que o Docker não as substitua na reinicialização. (As regras não sobrevivem a um reinício completo do host por si só — persista-as com iptables-persistent ou um serviço systemd; ufw-docker cuida disso para você.) A ferramenta padrão da comunidade para integrar o UFW ao DOCKER-USER é chaifeng/ufw-docker, que automatiza a geração de regras.

Instale-o e depois verifique com uma varredura de porta de fora do seu VPS que as portas que você acha que estão fechadas estão realmente fechadas.

Eu vi isso pegar um engenheiro astuto duas vezes na mesma semana, primeiro em uma máquina pessoal, depois em um cliente. O UFW dizia uma coisa, a internet pública dizia outra, e a verdade estava no iptables.

Para o Portainer especificamente, a porta 9443 é publicada, o que significa que a interface de administração está acessível de qualquer lugar na internet pública no momento em que o contêiner é iniciado. Duas rotas razoáveis: restrinja 9443 através de regras DOCKER-USER (permita apenas o IP de sua casa ou escritório), ou proteja-o com um túnel VPN como o WireGuard para que a interface nunca tenha um IP público.

O Que Você Deve Bloquear Logo Após O Primeiro Login?

Você está dentro. Cinco coisas que vale a pena fazer antes de fechar essa aba do navegador, segundo o guia de segurança próprio da Portainer:

  • Forçar Apenas HTTPS. Portainer usa HTTPS na porta 9443 por padrão, mas não o impõe. Ative a opção em Configurações para que a UI recuse completamente o HTTP.
  • Substituir o certificado autoassinado. Faça o upload de um certificado que você gerou, ou use o Portainer com um proxy reverso NGINX que tenha um certificado Let’s Encrypt. Depois do primeiro dia, clicar no aviso do navegador todas as vezes é um hábito que você vai se arrepender.
  • Use um nome de administrador real. “Admin” é o primeiro palpite em qualquer tentativa de preenchimento de credenciais. Escolha algo específico para você.
  • Restrinja a UI a uma VPN. WireGuard é o padrão recomendado pelo Portainer. Um 9443 público com credenciais fortes é aceitável. Um 9443 que só é acessível em uma rede privada é melhor.
  • Auditando a ligação do socket Docker. Qualquer coisa com acesso de leitura a /var/run/docker.sock pode executar qualquer coisa como root no host. Não monte o socket casualmente em outros contêineres. Cada ligação adicional é um novo caminho para o host. Se um contêiner alegar que precisa do socket, pergunte por quê — e considere um proxy de socket se a resposta for “para monitoramento”.

Como Você Realmente Usa o Portainer No Dia a Dia?

A recompensa por instalar o Portainer é o dia em que você para de usar SSH para reiniciar um contêiner problemático e começa a clicar em um botão em vez disso. A maior recompensa é a gestão de pilhas.

Uma stack Portainer é um aplicativo multi-container definido por um arquivo Docker Compose. Tudo que pode ser expresso como um docker-compose.yml você pode implementar como uma stack, com três principais rotas (excluindo templates personalizados) conforme a documentação oficial de stacks:

  • Cole o Compose na interface
  • Envie um arquivo Compose
  • Aponte o Portainer para um repositório Git
Painel do Portainer.io mostrando Detalhes do Stack com tabela de containers, registros, estatísticas e controles de gerenciamento para containers Docker.

O caminho do Git é o que importa. Você direciona o Portainer para um repositório público ou autenticado e um caminho para docker-compose.yml. O Portainer ou verifica o repositório em uma programação (o padrão é de cinco minutos) ou espera por um webhook do GitHub. Quando o arquivo Compose muda upstream, o Portainer puxa e redistribui automaticamente.

Essa é a versão auto-hospedada de “deploy on push” sem pagar por um PaaS pelo privilégio.

As pequenas vitórias diárias também somam. Pense em registros em um painel em vez de docker logs -f, reinícios com um clique, reconstrução de um stack a partir de um botão e gráficos de recursos que você pode verificar em três segundos em vez de executar Docker stats.

O Portainer também suporta hosts Docker remotos através do seu Agente Edge, que é como um assistente de IA auto-hospedado ou servidor de mídia se distribui por várias caixas.

Quanto Custa o Portainer? (E Quando o Gratuito Deixa de Ser Gratuito?)

A Edição Comunitária do Portainer é gratuita e ilimitada, sem condições. A instalação pela qual você acabou de passar é totalmente funcional para um host com tantos containers quanto seu VPS puder comportar. Sem limite de nós, sem expiração, sem telas de alerta.

EdiçãoCustoNósMelhor para
ComunidadeGratuita, código abertoIlimitadosProjetos pessoais, homelab, auto-hospedagem em VPS único
Edição de Negócios (Take 3)Gratuita perpetuamenteAté 3Pequenos homelabs que desejam RBAC e registros de auditoria
Negócios InicianteA partir de $99/mês5, 10 ou 15Pequenas equipes gerenciando infraestrutura real
Negócios EscalaA partir de $199/mêsAté 25Equipes em crescimento que precisam de suporte 9×5
EnterpriseCotaçãoIlimitadosConformidade e necessidades 24/7

O nível perpétuo gratuito de três nós (chamado Take 3) vale a pena conhecer: você renova a licença anualmente sem custo, desde que permaneça com três nós ou menos.

Esse é o plano certo para a maioria dos homelabs e pequenas equipes que desejam controle de acesso baseado em função (RBAC), registros de auditoria e registros de atividade sem pagar. Além disso, o Business Starter custa $99/mês na página de preços empresariais da Portainer para 5/10/15 nós; o Scale é $199/mês até 25 nós; e o Enterprise é sob consulta.

Para quase todos que estão lendo isso, a melhor escolha é a Edição Comunitária. Ela servirá a um único hospedeiro de VPS pela vida útil da caixa. As edições Business só se justificam quando você está gerenciando contagens reais de nós, precisa de RBAC em uma equipe ou requer suporte comercial para conformidade.

Deve Adicionar o Portainer ou Ignorá-lo?

Aqui está a resposta honesta de duas frases:

✅ Se vais compartilhar este servidor, implantar a partir do Git ou executar mais de três containers daqui a um ano, instala o Portainer enquanto o host está fresco e os teus hábitos ainda estão se formando em torno dele.

❌ Se você estiver executando um aplicativo silencioso e estiver satisfeito com o terminal, não sentirá falta da interface do usuário que não instalou.

A verdadeira questão não é Portainer versus não Portainer. É se a auto-hospedagem é a escolha certa para você — e você respondeu isso ao abrir esta aba.

Um VPS de 4 GB, Docker e Portainer CE levam você mais longe do que a maioria das pessoas espera — um stack de automação, um servidor de fotos, uma plataforma de newsletter e um assistente de IA local — por menos do que você provavelmente paga por dois serviços de streaming que mal assiste.

Isso não é um mau negócio para uma caixa que você realmente possui.

Perguntas Frequentes Sobre Docker e Portainer

Para Que Serve O Portainer?

O Portainer é utilizado para gerenciar contêineres Docker, Docker Swarm e Kubernetes por meio de uma interface web. Ele funciona como um contêiner Docker, conecta-se ao socket Docker do host e oferece uma visualização pelo navegador e controle sobre todos os outros contêineres no host — iniciando e parando contêineres, implantando pilhas de vários contêineres, visualizando registros e gerenciando o acesso do usuário sem a necessidade de usar SSH.

Preciso de Portainer se já tenho Docker?

Não, você não precisa do Portainer para usar o Docker. O Docker funciona completamente pelo terminal, e muitos auto-hospedeiros nunca instalam uma interface gráfica por cima.

Portainer se justifica quando você está gerenciando mais de dois ou três containers, compartilhando acesso com alguém que não vive em um terminal, ou implantando atualizações de pilha de um repositório Git. Ignore se você está executando um ou dois containers estáveis e se sente confortável com Docker Compose.

Em Que Porta O Portainer É Executado?

O Portainer é executado na porta 9443 por padrão para acesso HTTPS à interface do usuário web, além da porta 8000 para o túnel do Edge Agent se você conectar hosts Docker remotos mais tarde. A porta 8000 é opcional em uma instalação de host único; você pode remover a bandeira -p 8000:8000 do comando de instalação sem afetar a interface do usuário local. Os padrões são diretamente do documento oficial de instalação do Portainer para Linux.

Quanta RAM o Portainer necessita?

O próprio Portainer fica ocioso em torno de 100 MB antes de você carregar qualquer outra coisa. Adicione alguns centenas de MB para o daemon do Docker, e então dimensione a partir daí com base no que você está realmente executando.

Na DreamHost, nós dimensionamos nosso VPS Auto-Gerenciado de nível inicial com 4 GB de RAM para exatamente este tipo de carga de trabalho — espaço suficiente para o Portainer mais um pequeno conjunto de contêineres de projetos paralelos como Ghost, n8n, um banco de dados Postgres e um proxy reverso.

O Portainer é gratuito?

Sim. A Edição Comunitária do Portainer é totalmente gratuita, e a Edição Business também possui um nível gratuito perpétuo de 3 nós chamado Take 3, que é renovado anualmente sem custo, desde que você permaneça com três nós ou menos. Acima de três nós, o preço para empresas começa em $99/mês no plano Starter por página de preços de negócios do Portainer.

Qual a diferença entre Portainer CE e Business Edition?

Portainer Community Edition é gratuito, código aberto, e totalmente equipado para uso pessoal.

Edição Empresarial adiciona controle de acesso baseado em funções, registros de auditoria, registros de atividades e suporte comercial, e começa em $99/mês para 5 nós após o nível perpétuo gratuito de 3 nós Take 3.

O Portainer Pode Gerenciar Múltiplos Hosts Docker?

Sim, o Portainer pode gerenciar múltiplos hosts Docker através de Edge Agents, que operam em cada host remoto e consultam o servidor central do Portainer na porta de UI, com a porta 8000 sendo usada para abrir um túnel seguro de volta para comandos de gestão. Para self-hosters com um único VPS, isso é exagero. Para quem opera três ou mais caixas que compartilham um plano de controle, é por isso que 8000 está na linha de instalação.

O Docker contorna o UFW em um VPS?

Sim, o Docker ignora o UFW por padrão porque o Docker gerencia o tráfego do contêiner na camada NAT do iptables, que se encontra à frente das cadeias INPUT e OUTPUT do UFW.

De acordo com a documentação de filtragem de pacotes do Docker, “Os pacotes são desviados antes de alcançarem as cadeias INPUT e OUTPUT que o UFW utiliza.” A solução é a cadeia iptables DOCKER-USER, e a ferramenta padrão da comunidade para integrar o UFW a ela é chaifeng/ufw-docker.

Self-Managed VPS

Assuma o controlo de toda a sua stack. Aplicações, IA, bases de dados e muito mais.

Mantenha todas as credenciais e conversas num servidor que controla, com velocidade NVMe e largura de banda ilimitada incluídas.

Explore os planos de VPS autogerido