Lance um VPS Docker autohospedado em minutos

Contêineres autohospedados em um servidor que é seu. Contrate um VPS Docker, cole um bloco de instalação do repositório oficial do Docker e, poucos minutos depois, rode o seu primeiro docker compose up.

O que dá para fazer com um VPS Docker autohospedado

Um servidor e quantos contêineres couberem nele. A aplicação, o banco de dados, a fila e o proxy reverso rodam lado a lado — cada um no seu contêiner, com as suas próprias dependências.

Suba a stack inteira a partir de um arquivo

Descreva serviços, redes e volumes em um único arquivo Compose e suba a stack inteira com docker compose up -d. O mesmo arquivo roda no notebook, no ambiente de homologação e neste VPS, então os ambientes seguem comparáveis em todo o time.

Use imagens prontas em vez de configurar servidores

Baixe imagens prontas do Docker Hub ou do seu container registry privado em vez de configurar cada serviço do zero. Banco de dados, fila e proxy reverso podem rodar a partir de uma imagem predefinida com o mínimo de ajuste manual.

Publique atualizações sem perder dados

Mantenha os dados da aplicação em volumes nomeados, não na camada gravável do contêiner. Quando o Docker recria um contêiner durante uma atualização, o volume é reconectado ao substituto. O rollback é o mesmo comando com a tag anterior da imagem.

Rode uma arquitetura de microsserviços em um servidor

Coloque os serviços relacionados em uma bridge network própria e deixe que eles se encontrem pelo nome do serviço. Publique apenas as portas que precisam de tráfego externo: o banco continua acessível para a aplicação sem escutar na interface pública.

Sobreviva a reinicializações sem intervenção manual

Defina uma política de restart como unless-stopped e o Docker traz os contêineres de volta depois que o daemon ou o VPS reinicia. As cargas voltam sozinhas, em vez de esperar alguém entrar no servidor e subir tudo na mão.

Rode o Docker sem privilégios de root

Rode o daemon e os contêineres como usuário sem root usando o rootless mode. Isso reduz o impacto de uma eventual vulnerabilidade do daemon ou do runtime — uma camada extra útil em um VPS exposto à internet.

Escolha um plano de hospedagem VPS Docker

O próprio Docker Engine ocupa pouco, então dimensione o plano pelo que roda dentro dos contêineres. Recomendamos começar com um VPS Start, com 2 núcleos de CPU e 2 GB de RAM. Para uma pilha típica do Compose com banco de dados e proxy reverso, escolha um VPS Medium com 4 GB de RAM.

  • 40 Países
    Linux
    Intel Xeon
    AMD Ryzen

    De$10.19 / 1 mês
    $9.68 com is*smart
    • Xeon 2x2.20 GHz CPU
    • 2 Gb RAM
    • 30GB SSD Disco
    • 3 Tb Largura de Banda
    • IPV4 opcional
    • 1Gbps Porta
    • Weekly Backup
    • KVM Virtualização
    • Painéis de controle
  • 40 Países
    Linux
    Intel Xeon
    AMD Ryzen

    De$21.24 / 1 mês
    $20.18 com is*smart
    • Xeon 3x2.20 GHz CPU
    • 4 Gb RAM
    • 40GB SSD Disco
    • Unmetered Largura de Banda
    • IPV4 opcional
    • 1Gbps Porta
    • Weekly Backup
    • KVM Virtualização
    • Painéis de controle
  • 40 Países
    Linux
    Intel Xeon
    AMD Ryzen

    De$33.99 / 1 mês
    $32.29 com is*smart
    • Xeon 4x2.20 GHz CPU
    • 8 Gb RAM
    • 50GB SSD Disco
    • Unmetered Largura de Banda
    • IPV4 opcional
    • 1Gbps Porta
    • Weekly Backup
    • KVM Virtualização
    • Painéis de controle

Incremente os recursos do seu servidor VPS

Confira como você pode alterar a configuração do seu VPS. Você pode adquirir espaço em disco adicional, aumentar o desempenho da CPU, adicionar RAM e aproveitar serviços adicionais sem precisar mudar para um novo plano.

Como instalar o Docker em um VPS

Saia de um VPS Ubuntu limpo e chegue a uma stack Docker rodando atrás de HTTPS em cinco passos.

Step 01 — Contrate o VPS e conecte-se

Escolha um VPS Ubuntu em um local próximo dos seus usuários ou das APIs externas que os contêineres consomem e conecte-se por SSH. Os comandos abaixo rodam em um shell root.

ssh root@your-server-ip

Se o login direto como root estiver desativado, conecte-se com a sua conta comum e execute sudo -i.

Step 02 — Instale o Docker Engine e o Compose

Instale o Docker Engine e o plugin Compose a partir do repositório apt oficial do Docker:

apt updateapt install ca-certificates curlinstall -m 0755 -d /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg \  -o /etc/apt/keyrings/docker.ascchmod a+r /etc/apt/keyrings/docker.asc tee /etc/apt/sources.list.d/docker.sources <<EOFTypes: debURIs: https://download.docker.com/linux/ubuntuSuites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")Components: stableArchitectures: $(dpkg --print-architecture)Signed-By: /etc/apt/keyrings/docker.ascEOF apt updateapt install docker-ce docker-ce-cli containerd.io \  docker-buildx-plugin docker-compose-pluginsystemctl enable --now dockerdocker run --rm hello-world

Step 03 — Aponte o seu domínio para o VPS

Crie um registro A apontando o domínio da aplicação para o VPS Docker. O Caddy precisa que o domínio resolva corretamente antes de emitir o certificado HTTPS.

Type: AName: appValue: your-server-ip

Libere o tráfego TCP de entrada nas portas 80 e 443 no firewall do servidor e no painel do seu provedor.

Step 04 — Descreva a stack Docker

Crie o diretório do projeto:

mkdir -p /opt/docker-appcd /opt/docker-app

Crie o .env e substitua o valor de exemplo por uma senha longa e segura para URL:

POSTGRES_PASSWORD=replace-with-a-long-random-string

Crie o Caddyfile:

app.yourdomain.com {    reverse_proxy app:8080}

Crie o compose.yaml. Substitua your-org/your-app:1.4.2 pela imagem e versão usadas pela sua aplicação. O nome antigo docker-compose.yml continua funcionando.

services:  app:    image: your-org/your-app:1.4.2    restart: unless-stopped    environment:      DATABASE_URL: postgres://app:${POSTGRES_PASSWORD}@db:5432/app    depends_on:      db:        condition: service_healthy   db:    image: postgres:16    restart: unless-stopped    environment:      POSTGRES_DB: app      POSTGRES_USER: app      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}    volumes:      - db-data:/var/lib/postgresql/data    healthcheck:      test: ["CMD-SHELL", "pg_isready -U app -d app"]      interval: 5s      timeout: 5s      retries: 10   caddy:    image: caddy:2    restart: unless-stopped    ports:      - "80:80"      - "443:443"    volumes:      - ./Caddyfile:/etc/caddy/Caddyfile:ro      - caddy-data:/data      - caddy-config:/config volumes:  db-data:  caddy-data:  caddy-config:

Somente o Caddy publica portas no host. A aplicação e o banco de dados seguem acessíveis apenas dentro da rede privada do Compose.

Step 05 — Suba a stack

Proteja o arquivo de ambiente, suba os contêineres e confira o status:

chmod 600 .envdocker compose up -ddocker compose ps

O Caddy obtém e renova o certificado HTTPS automaticamente e redireciona as requisições HTTP para HTTPS. Os volumes nomeados preservam os dados do banco e os certificados do Caddy quando os contêineres são recriados.

Problemas comuns

  • A aplicação sobe antes de o banco estar pronto — o depends_on simples garante a ordem de inicialização, não a prontidão. Dê um health check ao banco e dependa dele com condition: service_healthy, como acima.
  • As portas publicadas ignoram o ufw — o Docker roteia o tráfego dos contêineres na tabela nat, antes das cadeias que o ufw usa, então uma porta publicada responde mesmo quando o ufw diz que está fechada. Publique apenas o proxy; apontar para 127.0.0.1 também publica a porta, só que limitada à interface de loopback.
  • Os pulls começam a falhar no meio do deploy — o Docker Hub permite 100 pulls a cada 6 horas por endereço IPv4 ou sub-rede IPv6 /64 sem autenticação, e 200 a cada 6 horas em uma conta Personal gratuita. Rode docker login no servidor antes de um deploy que baixa muitas imagens.
  • Os dados sumiram depois que o contêiner foi recriado — dados guardados na camada gravável do contêiner desaparecem quando ele é removido. Mantenha dados persistentes em um volume nomeado ou bind mount.

A infraestrutura da is*hosting é uma boa base para hospedagem Docker

Hardware próprio

Virtualização KVM com CPU e RAM dedicadas, então os outros clientes do nó não viram o seu problema de capacidade. Acesso root desde o primeiro minuto.

40+ locais

Coloque os contêineres perto das APIs que eles chamam ou do público que atendem. Todo VPS inclui porta de 1Gbps, com tráfego ilimitado a partir do plano Medium.

Uptime, backups e suporte

SLA de 99,99% de uptime, backups semanais gratuitos e backups diários opcionais. A equipe de engenharia responde por tickets 24 horas por dia.

Pronto para rodar um VPS com Docker?

Escolha um servidor VPS, instale o Docker e suba a sua stack. Você tem acesso root desde o começo e controle total sobre cada contêiner que rodar.

Escolher VPS Docker

Perguntas frequentes sobre VPS Docker autohospedado

O que dá para rodar em um VPS Docker autohospedado?

A hospedagem de contêineres Docker suporta a maior parte do software distribuído como imagem de contêiner Linux: bancos de dados, aplicações web, bots, runners de CI e substitutos autohospedados de ferramentas SaaS. Antes do deploy, confira a arquitetura da imagem, os requisitos de recursos e eventuais recursos de kernel necessários.

Quanto tempo leva para instalar o Docker em um VPS?

Poucos minutos, normalmente. O Docker é instalado a partir do repositório apt oficial como qualquer outro pacote no Ubuntu: adicione a chave e o repositório, instale o Docker Engine e o plugin Compose e habilite o serviço. O guia acima cobre a instalação completa.

O Docker é gratuito?

O Docker Engine, a parte que roda diretamente no seu VPS Linux, é open source sob a licença Apache 2.0. O Docker Desktop é gratuito para uso pessoal, educação, projetos open source não comerciais e pequenas empresas com menos de 250 funcionários e menos de US$ 10 milhões de receita anual. Organizações maiores precisam de assinatura paga do Docker Desktop. Esses termos do Docker Desktop não se aplicam ao Docker Engine instalado diretamente em um VPS Linux.

Qual é o melhor VPS para Docker?

Comece pelos recursos que os contêineres da sua stack exigem. Um serviço pequeno pode caber em 1 GB de RAM de uma hospedagem Docker barata, enquanto uma aplicação com banco de dados costuma pedir de 2 a 4 GB. Builds, filas e cargas de analytics podem exigir 8 GB ou mais. Deixe espaço em disco para imagens, volumes e logs e escolha um plano que dê para escalar junto com a stack.

Dá para rodar o Docker no Windows?

O Docker Desktop suporta edições de 64 bits compatíveis do Windows 10 e do Windows 11, com 8 GB de RAM, virtualização por hardware e um backend suportado como o WSL 2. Não há suporte no Windows Server. Para contêineres Linux em um VPS, o Linux é o caminho mais direto, porque o Docker Engine roda sem a camada de virtualização do Docker Desktop.

Vocês oferecem hospedagem Docker gerenciada?

A administração do servidor está disponível como opção ao contratar um servidor com painel de controle. A administração padrão gratuita cobre o sistema operacional suportado, o painel, configurações e tarefas de backup. Deploys Docker personalizados podem exigir administração paga ou aprovação separada, enquanto a hospedagem VPS não gerenciada deixa o daemon do Docker e a stack de contêineres sob o seu controle.

Mais da is*hosting

Data Storage

Cópias fora do servidor dos seus volumes Docker, dumps do banco e arquivos compose.
Explorar
De $1.00 /mês

Servidores Dedicados

Mova uma stack pesada de contêineres para bare metal — para tudo aquilo que um único VPS já não dá conta.
Explorar
De $75.00 /mês