Hospedagem Segura — página inicial

Docker e aplicações

Como instalar Docker e Docker Compose no Ubuntu Server

O jeito recomendado de instalar o Docker em um servidor Ubuntu é pelo repositório oficial da Docker, que já traz o plugin do Compose. Veja o passo a passo e os cuidados de segurança.

Como instalar Docker e Docker Compose no Ubuntu Server

Atualizado em 02/10/2026

O Ubuntu tem um pacote docker.io nos próprios repositórios, mas ele costuma ficar atrás das versões atuais. O repositório oficial da Docker entrega o Docker Engine, o CLI, o containerd e o plugin do Docker Compose (o comando docker compose).

1. Remova pacotes antigos (se houver)

for p in docker.io docker-compose docker-compose-v2 podman-docker containerd runc; do
  sudo apt-get remove -y $p
done

2. Adicione o repositório oficial

sudo apt-get update
sudo apt-get install -y 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
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3. Instale o Docker e o Compose

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

4. Teste

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

O serviço já fica habilitado para iniciar com o sistema. Confira com systemctl status docker.

Usar o Docker sem sudo: entenda o risco

É comum adicionar o usuário ao grupo docker para não digitar sudo. Mas quem está nesse grupo tem, na prática, poder de root no servidor. Faça isso só para usuários de confiança:

sudo usermod -aG docker $USER
# saia e entre de novo na sessão para valer

Cuidado com o firewall

Portas publicadas com -p ou ports no Compose são abertas pelo próprio Docker nas regras de rede do sistema e podem passar por cima de regras do UFW. Para serviços internos, como bancos de dados, não publique a porta ou publique só no endereço local:

ports:
  - "127.0.0.1:5432:5432"
Trecho de docker-compose.yml: o banco fica acessível só no próprio servidor.

Um primeiro compose

services:
  web:
    image: nginx:stable
    ports:
      - "80:80"
    restart: unless-stopped
Salve como docker-compose.yml e rode docker compose up -d na mesma pasta.

Atualizações

Atualize o Docker junto com o sistema (apt-get upgrade) e as imagens com docker compose pull seguido de docker compose up -d. Imagens desatualizadas são uma das principais fontes de vulnerabilidade em servidores com containers.

VPS com Docker pronto

O VPS para Docker é entregue com Docker Engine e Docker Compose instalados, acesso root e armazenamento NVMe.

WhatsApp