VPS · Guia

Como instalar o Docker no Ubuntu

Atualizado October 11, 2026 5 min de leitura

Nesta página
  1. Antes de começar
  2. Passo 1: Remova os pacotes conflitantes
  3. Passo 2: Adicione o repositório do Docker
  4. Passo 3: Instale o Docker e o Compose
  5. Passo 4: Permissões e rotação de logs
  6. Um primeiro arquivo Compose
  7. Docker e ufw: a armadilha do firewall
  8. Docker em uma VPS da HytHost
  9. FAQ

O Docker executa aplicações em contêineres: cada um traz tudo o que precisa, então roda do mesmo jeito no seu notebook e em um servidor. Sites, bancos de dados, bots e servidores de jogos podem ser iniciados com um único comando ou um único arquivo Compose.

Este guia instala o Docker Engine e o Docker Compose no Ubuntu 24.04 ou 22.04 a partir do repositório oficial do Docker e depois trata das configurações que importam em um servidor real: permissões, logs e firewall.

Antes de começar

  • Um Ubuntu compatível: o Docker oferece suporte às versões de 64 bits do Ubuntu 26.04, 24.04 e 22.04 LTS. Confira a sua com cat /etc/os-release.
  • Um servidor KVM, não um contêiner: o Docker precisa de recursos próprios do kernel. Ele roda em qualquer VPS KVM, mas muitas vezes não em planos baseados em contêiner (OpenVZ ou LXC).
  • Root ou um usuário com sudo. Os comandos abaixo usam sudo; se você estiver logado como root, pode deixá-lo de fora.

Em servidores, evite o pacote docker.io do repositório do próprio Ubuntu e a versão Snap: o repositório do Docker recebe as novas versões primeiro, e é ele que a documentação do próprio Docker usa.

O Docker precisa de uma máquina virtual de verdade: os planos VPS KVM da HytHost com Ubuntu e acesso root completo começam em €2.92/mês.

Ver planos VPS

Passo 1: Remova os pacotes conflitantes

Se você já instalou o Docker antes por outra fonte, remova esses pacotes primeiro. Em um servidor novo, o apt simplesmente informa que nenhum está instalado:

sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)

Imagens e volumes em /var/lib/docker/ não são apagados por isso.

Passo 2: Adicione o repositório do Docker

Estes comandos, tirados da documentação do Docker, adicionam a chave de assinatura do Docker e o repositório apt dele para a sua versão do Ubuntu:

sudo apt update
sudo apt install ca-certificates curl
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

sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

Passo 3: Instale o Docker e o Compose

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

Isso instala o Docker Engine, a ferramenta de linha de comando, o builder Buildx e o plugin do Compose. Confira se funciona:

sudo docker run hello-world
docker compose version

O primeiro comando baixa uma pequena imagem de teste e exibe uma mensagem de boas-vindas. No Ubuntu, o Docker inicia automaticamente com o sistema, então não há nada para habilitar.

O Compose é o comando docker compose, com espaço. O antigo docker-compose com hífen é a primeira versão, já descontinuada; guias que ainda usam esse formato também funcionam com o comando novo.

Passo 4: Permissões e rotação de logs

Rodando o docker sem sudo. Adicione seu usuário ao grupo docker e depois saia e entre de novo:

sudo usermod -aG docker $USER

Atenção: o próprio Docker avisa que esse grupo concede privilégios de nível root, ou seja, qualquer pessoa nele pode controlar o servidor inteiro. Adicione só usuários a quem você daria root.

Limite o tamanho dos logs. Por padrão, os logs dos contêineres crescem sem limite e podem encher o disco. Crie /etc/docker/daemon.json:

{
  "log-driver": "json-file",
  "log-opts": { "max-size": "10m", "max-file": "3" }
}

Depois rode sudo systemctl restart docker. O limite vale para contêineres criados após a mudança, então recrie os que já existem.

Um primeiro arquivo Compose

O Compose descreve seus contêineres em um único arquivo. Crie uma pasta com um compose.yaml:

services:
  web:
    image: nginx:stable
    ports:
      - "127.0.0.1:8080:80"
    restart: unless-stopped

Inicie com docker compose up -d, confira com docker compose ps e leia os logs com docker compose logs. restart: unless-stopped traz o contêiner de volta após uma falha ou reinicialização. A porta está vinculada a 127.0.0.1 de propósito, como explica a próxima seção.

Docker e ufw: a armadilha do firewall

Isso pega quase todo mundo. Quando você publica uma porta, por exemplo -p 8080:80, o Docker adiciona as próprias regras de firewall, que são aplicadas antes das do ufw. A porta fica aberta para a internet mesmo que o ufw diga que está fechada.

  • Vincule as portas ao localhost quando só o próprio servidor precisa delas, como um banco de dados ou um app atrás de um proxy reverso: 127.0.0.1:8080:80.
  • Não publique portas de banco de dados de jeito nenhum; deixe os contêineres se comunicarem por uma rede Docker.
  • Para filtrar por endereço de origem, adicione regras à chain iptables DOCKER-USER, que o Docker verifica antes das próprias.

O mesmo vale para servidores de jogos rodando em Docker; veja como configurar uma VPS para servidores de jogos.

Docker em uma VPS da HytHost

Os planos VPS da HytHost rodam em KVM, então cada VPS tem o próprio kernel e o Docker funciona sem restrições. Escolha Ubuntu 24.04 ou 22.04 no pedido, conecte via SSH e siga os passos acima. Você tem acesso root completo, armazenamento SSD e proteção DDoS, e pode migrar para um plano maior depois, conforme seus contêineres crescem.

FAQ

Perguntas frequentes

O Docker oferece suporte às versões de 64 bits do Ubuntu 26.04, 24.04 e 22.04 LTS. Outros sistemas baseados em Ubuntu, como o Linux Mint, não têm suporte oficial.

Não em um servidor de produção. O Docker diz que o script de conveniência é para ambientes de desenvolvimento e não é recomendado para produção; ele também pode pular para uma nova versão principal. Use o método do repositório.

docker-compose com hífen é a versão antiga, já descontinuada. Hoje o Compose é um plugin do Docker usado como docker compose, instalado com o pacote docker-compose-plugin.

As portas publicadas pelo Docker driblam o ufw. Vincule a porta a 127.0.0.1 se ela deve ficar local, ou filtre-a na chain DOCKER-USER.

Em uma VPS KVM, sim. Planos VPS baseados em contêiner, como OpenVZ, muitas vezes não conseguem rodar o Docker ou precisam de configurações especiais do provedor.

Rode seus contêineres em uma VPS

Os planos VPS KVM da HytHost rodam o Docker sem restrições, com acesso root completo e Ubuntu 24.04, a partir de €2.92/mês.

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours

Este guia foi útil?