Artigos sobre: Docker e Auto-Hosted

Como instalar Docker no VPS com Docker Composer

Como instalar Docker no VPS e subir seu primeiro app com Docker Compose


Docker mudou a forma como aplicações são distribuídas e operadas. Se você tem um VPS e quer padronizar seus deploys, este guia mostra como instalar, configurar e rodar seu primeiro projeto com Docker Compose.


Pré-requisitos


  • VPS com Ubuntu 24.04 LTS (ou 22.04).
  • Acesso SSH com usuário sudo.
  • Portas 80 e 443 liberadas no firewall.


Passo 1: instalar Docker via repositório oficial


Nunca instale Docker do repositório padrão do Ubuntu (costuma estar desatualizado). Use o repositório oficial:


sudo apt update
sudo apt install ca-certificates curl -y
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y


Passo 2: verificar instalação


docker --version
docker compose version
sudo docker run hello-world


Se "Hello from Docker!" aparecer, a instalação está correta.


Passo 3: permitir Docker sem sudo


sudo usermod -aG docker $USER


Faça logout e login novamente para que a mudança tenha efeito. Depois, teste:


docker ps


Passo 4: primeiro projeto com Docker Compose


Crie uma pasta para o projeto:


mkdir -p ~/meu-projeto && cd ~/meu-projeto


Crie o arquivo docker-compose.yml:


services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
restart: unless-stopped

db:
image: postgres:16-alpine
environment:
POSTGRES_DB: meuapp
POSTGRES_USER: admin
POSTGRES_PASSWORD: senha_segura_aqui
volumes:
- pgdata:/var/lib/postgresql/data
restart: unless-stopped

volumes:
pgdata:


Crie o conteúdo de teste:


mkdir html
echo "<h1>Funcionando no Docker!</h1>" > html/index.html


Suba os serviços:


docker compose up -d


Acesse http://SEU_IP no navegador. Se a mensagem aparecer, está tudo rodando.


Boas práticas para Docker em VPS


Sempre use restart: unless-stopped

Garante que os containers reiniciem automaticamente após reboot do servidor.


Persista dados com volumes

Nunca armazene dados importantes dentro do container — use volumes Docker ou bind mounts.


Não rode containers como root

Use a diretiva user no Compose ou crie usuários dentro da imagem.


Versione o Compose no Git

O docker-compose.yml é sua infraestrutura como código. Versioná-lo no Git garante rastreabilidade e rollback.


Use variáveis de ambiente protegidas

Nunca coloque senhas diretamente no Compose. Use arquivo .env:


# .env
POSTGRES_PASSWORD=senha_segura_aqui


E no Compose:

environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}


Comandos essenciais


Comando

O que faz

docker compose up -d

Sobe serviços em background

docker compose down

Para e remove containers

docker compose logs -f

Acompanha logs em tempo real

docker compose ps

Lista containers ativos

docker compose pull

Baixa imagens atualizadas

docker compose restart

Reinicia serviços


Perguntas frequentes (FAQ)


Docker Compose substitui Kubernetes?

Para VPS únicos e projetos de pequeno a médio porte, Docker Compose resolve perfeitamente. Kubernetes faz sentido para orquestração de múltiplos servidores e alta disponibilidade.


Docker consome muitos recursos?

O overhead do Docker é mínimo — muito menor que VMs. Um container Nginx consome cerca de 5 MB de RAM.


Como atualizar uma aplicação com Docker?

Atualize a imagem no Compose (docker compose pull), depois reinicie: docker compose up -d. O container antigo é substituído automaticamente.


Próximos passos



Actualizado em: 16/03/2026

Esse artigo foi útil?

Partilhe o seu feedback

Cancelar

Obrigado!