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: Remover pacotes em conflito
  3. Passo 2: Adicionar o repositório do Docker
  4. Passo 3: Instalar o Docker e o Compose
  5. Passo 4: Permissões e rotação de registos
  6. Um primeiro ficheiro Compose
  7. Docker e ufw: a armadilha da firewall
  8. Docker numa VPS da HytHost
  9. FAQ

O Docker executa aplicações em contentores: cada um traz tudo aquilo de que precisa, por isso funciona da mesma forma no seu portátil e num servidor. Sites, bases de dados, bots e servidores de jogos podem ser iniciados com um único comando ou um único ficheiro 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 aborda as definições que importam num servidor real: permissões, registos e firewall.

Antes de começar

  • Um Ubuntu suportado: o Docker suporta as versões de 64 bits do Ubuntu 26.04, 24.04 e 22.04 LTS. Verifique a sua com cat /etc/os-release.
  • Um servidor KVM, não um contentor: o Docker precisa de funcionalidades próprias do kernel. Funciona em qualquer VPS KVM, mas muitas vezes não em planos baseados em contentores (OpenVZ ou LXC).
  • Root ou um utilizador com sudo. Os comandos abaixo usam sudo; se tiver sessão iniciada como root, pode omiti-lo.

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 é o que a documentação do próprio Docker utiliza.

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

Ver planos VPS

Passo 1: Remover pacotes em conflito

Se já instalou o Docker antes a partir de outra fonte, remova primeiro esses pacotes. Num servidor novo, o apt indica simplesmente 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)

As imagens e os volumes em /var/lib/docker/ não são apagados por isto.

Passo 2: Adicionar o repositório do Docker

Estes comandos, retirados da documentação do Docker, adicionam a chave de assinatura do Docker e o respetivo repositório apt 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: Instalar o Docker e o Compose

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

Isto instala o Docker Engine, a ferramenta de linha de comandos, o builder Buildx e o plugin Compose. Confirme que funciona:

sudo docker run hello-world
docker compose version

O primeiro comando descarrega uma pequena imagem de teste e mostra uma mensagem de boas-vindas. No Ubuntu, o Docker arranca automaticamente com o sistema, por isso não há nada a ativar.

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

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

Usar o docker sem sudo. Adicione o seu utilizador ao grupo docker e depois termine sessão e volte a entrar:

sudo usermod -aG docker $USER

Tenha em atenção que o próprio Docker avisa que este grupo concede privilégios ao nível de root: qualquer pessoa que faça parte dele pode controlar todo o servidor. Adicione apenas utilizadores a quem daria root.

Limite o tamanho dos registos. Por predefinição, os registos dos contentores 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 execute sudo systemctl restart docker. O limite aplica-se aos contentores criados após a alteração, por isso recrie os existentes.

Um primeiro ficheiro Compose

O Compose descreve os seus contentores num único ficheiro. Crie uma pasta com um compose.yaml:

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

Inicie-o com docker compose up -d, verifique-o com docker compose ps e leia os registos com docker compose logs. restart: unless-stopped volta a pôr o contentor a correr após uma falha ou um reinício. A porta está associada a 127.0.0.1 de propósito, como explica a secção seguinte.

Docker e ufw: a armadilha da firewall

Isto apanha quase toda a gente. Quando publica uma porta, por exemplo -p 8080:80, o Docker adiciona as suas próprias regras de firewall, que são aplicadas antes das do ufw. A porta fica aberta à internet mesmo que o ufw diga que está fechada.

  • Associe as portas a localhost quando só o próprio servidor precisa delas, como uma base de dados ou uma aplicação atrás de um reverse proxy: 127.0.0.1:8080:80.
  • Não publique de todo as portas das bases de dados; deixe que os contentores comuniquem entre si através de uma rede Docker.
  • Para filtrar por endereço de origem, adicione regras à cadeia iptables DOCKER-USER, que o Docker verifica antes das suas.

O mesmo se aplica a servidores de jogos executados em Docker; veja como configurar uma VPS para servidores de jogos.

Docker numa VPS da HytHost

Os planos VPS da HytHost funcionam em KVM, por isso cada VPS tem o seu próprio kernel e o Docker corre sem restrições. Escolha Ubuntu 24.04 ou 22.04 ao fazer a encomenda, ligue-se por SSH e siga os passos acima. Tem acesso root total, armazenamento SSD e proteção DDoS, e pode passar mais tarde para um plano maior à medida que os seus contentores crescem.

FAQ

Perguntas frequentes

O Docker suporta as 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 são oficialmente suportados.

Num servidor de produção, não. O Docker diz que o seu script de conveniência se destina a ambientes de desenvolvimento e não é recomendado para produção; além disso, pode saltar para uma nova versão principal. Use antes 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 e instalado com o pacote docker-compose-plugin.

As portas publicadas pelo Docker contornam o ufw. Associe a porta a 127.0.0.1 se tiver de ficar local, ou filtre-a na cadeia DOCKER-USER.

Numa VPS KVM, sim. Os planos VPS baseados em contentores, como o OpenVZ, muitas vezes não conseguem executar o Docker ou precisam de definições especiais do fornecedor.

Execute os seus contentores numa VPS

Os planos VPS KVM da HytHost executam o Docker sem restrições, com acesso root total e Ubuntu 24.04, desde €2.92/mês.

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

Este guia foi útil?