Como instalar o Docker em uma VPS Ubuntu
O Docker é o runtime de containers mais usado no mundo e é pré-requisito para n8n, Evolution API, Supabase e muitas outras ferramentas. Este guia cobre os dois métodos oficiais de instalação: o script get.docker.com (mais rápido) e o repositório apt (recomendado para produção).
Antes de começar
- VPS mínima
- 1 vCPU · 1 GB RAM · 10 GB SSD (Runstack Micro)
- Sistema
- Ubuntu 24.04 LTS
- Também
- Acesso root ou usuário com sudo
- Conexão com a internet para baixar pacotes
Instalação passo a passo
- 1
Atualizar o sistema
Sincronize o índice de repositórios e atualize os pacotes existentes.
bashapt update && apt upgrade -y - 2
Remover versões antigas do Docker (se existirem)
Versões antigas do Docker instaladas via repositório do Ubuntu devem ser removidas antes da instalação oficial.
bashfor pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do apt remove -y $pkg 2>/dev/null done - 3
Método A: instalar via repositório apt oficial (recomendado)
Este método instala o Docker CE do repositório oficial, garantindo atualizações futuras via apt.
bash# Instalar dependências para repositório HTTPS apt install -y ca-certificates curl # Adicionar a chave GPG oficial do Docker install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg \ -o /etc/apt/keyrings/docker.asc chmod a+r /etc/apt/keyrings/docker.asc # Adicionar o repositório Docker 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" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null # Atualizar o índice e instalar o Docker apt update apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin - 4
Método B: instalar via script get.docker.com (mais simples)
Para instalações rápidas ou automação, o script oficial detecta a distro e instala automaticamente.
bashcurl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh - 5
Verificar a instalação
Confirme que Docker e o plugin Compose foram instalados corretamente.
bashdocker --version docker compose version # Testar com o container hello-world docker run hello-world - 6
Configurar o serviço systemd
Garanta que o Docker inicia automaticamente após reinicializações do servidor.
bash# Habilitar e iniciar o Docker systemctl enable docker systemctl start docker # Verificar status systemctl status docker - 7
Adicionar usuário não-root ao grupo docker (opcional)
Para usar o Docker sem `sudo`, adicione seu usuário ao grupo docker. Isso é conveniente mas concede permissões equivalentes a root.
bash# Adicionar o usuário atual ao grupo docker usermod -aG docker $USER # Aplicar sem fazer logout (para a sessão atual) newgrp docker # Verificar docker ps - 8
Verificar a configuração final
Confirme que tudo está funcionando corretamente.
bash# Status completo docker info # Teste de compose (cria um container nginx temporário) mkdir -p /tmp/docker-test && cd /tmp/docker-test cat > docker-compose.yml << 'EOF' services: web: image: nginx:alpine ports: - "8080:80" EOF docker compose up -d curl http://localhost:8080 docker compose down cd / && rm -rf /tmp/docker-test
Não quer configurar manualmente?
Implante o Docker em menos de 5 minutos com a Runstack. Infraestrutura da OPEN Datacenter, com servidores em São Paulo.
Se der problema
O serviço Docker não está rodando. Inicie-o e verifique o status.
systemctl start docker
systemctl status docker
journalctl -u docker -n 30 --no-pagerSeu usuário não está no grupo docker. Adicione e faça logout/login ou use `newgrp docker`.
usermod -aG docker $USER
newgrp dockerO binário `docker-compose` (v1, Python) está obsoleto. Use sempre `docker compose` (v2, plugin Go). Remova o v1 se instalado.
apt remove docker-compose 2>/dev/null || pip uninstall docker-compose -y 2>/dev/null
docker compose versionCertifique-se de que o Docker está habilitado no systemd e que os containers têm `restart: always` ou `restart: unless-stopped`.
systemctl enable docker
# Para containers existentes:
docker update --restart always nome_do_containerLimpe recursos não utilizados com o comando prune.
# Ver uso de disco do Docker
docker system df
# Limpar imagens, containers e redes não utilizados
docker system prune -f
# Para incluir volumes (CUIDADO — apaga dados!):
# docker system prune -f --volumesPerguntas frequentes
`docker-compose` (com hífen) é o binário legado v1, escrito em Python, distribuído separadamente. `docker compose` (com espaço) é o plugin v2, integrado ao CLI do Docker CE, instalado junto com o `docker-compose-plugin`. O v1 foi descontinuado: use sempre v2.
Não. Docker CE (Community Edition) é o runtime de container para Linux servidores. Docker Desktop é uma aplicação com interface gráfica para macOS e Windows que inclui um VM Linux interno. Em VPS Linux, instale sempre o Docker CE.
Use um container auxiliar: `docker run --rm -v nome_do_volume:/data -v $(pwd):/backup alpine tar czf /backup/volume-backup.tar.gz /data`. Para restaurar: `docker run --rm -v nome_do_volume:/data -v $(pwd):/backup alpine tar xzf /backup/volume-backup.tar.gz -C /`.
O overhead do Docker é mínimo, tipicamente menor que 1-2% para operações de CPU e memória. Para I/O de disco em volumes, o overhead pode ser um pouco maior dependendo do driver de storage. Para a maioria das aplicações web, a diferença é imperceptível.
Se instalado via repositório apt (Método A), atualize com `apt update && apt upgrade`. O Docker é incluído nas atualizações regulares do sistema.