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).

cerca de 15 minjunho/2026 · Ubuntu 24.04 LTS

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. 1

    Atualizar o sistema

    Sincronize o índice de repositórios e atualize os pacotes existentes.

    bash
    apt update && apt upgrade -y
  2. 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.

    bash
    for 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. 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. 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.

    bash
    curl -fsSL https://get.docker.com -o get-docker.sh
    sh get-docker.sh
  5. 5

    Verificar a instalação

    Confirme que Docker e o plugin Compose foram instalados corretamente.

    bash
    docker --version
    docker compose version
    
    # Testar com o container hello-world
    docker run hello-world
  6. 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. 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. 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.

bash
systemctl start docker
systemctl status docker
journalctl -u docker -n 30 --no-pager

Seu usuário não está no grupo docker. Adicione e faça logout/login ou use `newgrp docker`.

bash
usermod -aG docker $USER
newgrp docker

O binário `docker-compose` (v1, Python) está obsoleto. Use sempre `docker compose` (v2, plugin Go). Remova o v1 se instalado.

bash
apt remove docker-compose 2>/dev/null || pip uninstall docker-compose -y 2>/dev/null
docker compose version

Certifique-se de que o Docker está habilitado no systemd e que os containers têm `restart: always` ou `restart: unless-stopped`.

bash
systemctl enable docker
# Para containers existentes:
docker update --restart always nome_do_container

Limpe recursos não utilizados com o comando prune.

bash
# 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 --volumes

Perguntas 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.