Learning Center
Ambiente Docker

Instalar e usar Docker Compose no Ubuntu: guia completo

15 jan. 2026
Emmanuel Oyibo
Emmanuel Oyibo

O Docker Compose mudou de forma fundamental a maneira como desenvolvedores trabalham com aplicações conteinerizadas, especialmente ao coordenar serviços que dependem uns dos outros. Essa ferramenta substitui o gerenciamento manual de contêineres por um fluxo de trabalho estruturado e orientado por YAML, permitindo que equipes definam arquiteturas completas de aplicações em um único arquivo de configuração.

Em ambientes Ubuntu, isso se traduz em implantações reproduzíveis, escalonamento simplificado e menor sobrecarga operacional. Este guia oferece uma nova perspectiva sobre a instalação e o uso do Docker Compose, fornecendo insights mais profundos sobre sua implementação prática.

Pré-requisitos
Copiar link

Antes de iniciar este tutorial, você precisará ter:

  • Implantar uma instância de servidor cloud Ubuntu na Hostman.

  • Garantir que você tenha uma conta de usuário com privilégios sudo ou acesso root, permitindo instalar pacotes e gerenciar o Docker.

  • Ter o Docker instalado e em execução no servidor, pois o Docker Compose funciona sobre o Docker Engine.

Por que o Docker Compose é importante
Copiar link

Aplicações modernas geralmente envolvem componentes interconectados, como APIs, bancos de dados e camadas de cache. Gerenciar esses elementos individualmente com comandos do Docker torna-se trabalhoso à medida que a complexidade cresce. O Docker Compose resolve isso permitindo declarar todos os serviços, redes e requisitos de armazenamento em um arquivo docker-compose.yml. Essa abordagem garante consistência entre ambientes — seja em uma máquina Ubuntu local ou em um servidor na nuvem.

Por exemplo, considere uma aplicação web composta por um backend Node.js, um banco de dados PostgreSQL e um cache Redis. Sem o Docker Compose, cada componente exigiria comandos docker run separados com configurações de rede precisas. Com o Compose, essas relações são organizadas uma única vez, permitindo iniciar e encerrar tudo com apenas um comando.

Instalação do Docker Compose
Copiar link

Siga estas etapas para instalar o Docker Compose no seu sistema Ubuntu.

Etapa 1: Verificar se o Docker Engine está instalado e em execução
Copiar link

O Docker Compose funciona como uma extensão do Docker, portanto verifique seu status:

sudo systemctl status docker

Se estiver inativo, inicie o serviço com:

sudo systemctl start docker

Etapa 2: Atualizar os pacotes do sistema
Copiar link

Atualize a lista de pacotes para garantir acesso às versões mais recentes do software:

sudo apt-get update

Etapa 3: Instalar utilitários básicos
Copiar link

Para comunicação segura com os repositórios do Docker, são necessários os seguintes pacotes:

sudo apt-get install ca-certificates curl

Etapa 4: Configurar a chave GPG do Docker
Copiar link

Autentique os pacotes do Docker adicionando a chave criptográfica:

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

Esta etapa garante que os pacotes não tenham sido alterados durante a transferência.

Etapa 5: Integrar o repositório do Docker
Copiar link

Adicione o repositório adequado à sua versão do Ubuntu:

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" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

O comando detecta automaticamente a versão do sistema operacional usando VERSION_CODENAME.

Etapa 6: Instalar o plugin Docker Compose
Copiar link

Atualize os repositórios e instale a extensão do Compose:

sudo apt update

sudo apt-get install docker-compose-plugin

Etapa 7: Validar a instalação
Copiar link

Confirme se a instalação foi bem-sucedida:

docker compose version

Exemplo de saída:

Docker Compose version v2.33.0

Criando um projeto prático com Docker Compose
Copiar link

Vamos implantar um servidor web usando Nginx para demonstrar os recursos do Docker Compose.

1. Inicializar o diretório do projeto
Copiar link

Crie um espaço de trabalho dedicado:

mkdir ~/compose-demo && cd ~/compose-demo

2. Definir serviços em docker-compose.yml
Copiar link

Crie o arquivo de configuração:

nano docker-compose.yml

Insira o seguinte conteúdo:

services:

  web:

    image: nginx:alpine

    ports:

      - "8080:80"

    volumes:

      - ./app:/usr/share/nginx/html

Explicação:

  • services: Elemento raiz que define os contêineres

  • web: Nome personalizado do serviço

  • image: Imagem do Nginx baseada em Alpine, com menor consumo de recursos

  • ports: Mapeia a porta 8080 do host para a porta 80 do contêiner

  • volumes: Sincroniza o diretório local app com a raiz web do contêiner

3. Criar o conteúdo web
Copiar link

Construa a estrutura HTML:

mkdir app

nano app/index.html

Adicione o seguinte conteúdo:

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <title>Docker Compose Test</title>

</head>

<body>

  <h1>Hello from Docker Compose!</h1>

</body>

</html>

Orquestrando contêineres: do início ao encerramento
Copiar link

1. Iniciar os serviços em modo desacoplado
Copiar link

docker compose up -d

O Docker Compose baixará automaticamente a imagem do Nginx, se necessário, e configurará a rede.

2. Verificar o status dos contêineres
Copiar link

docker compose ps -a

3. Acessar a aplicação web
Copiar link

Acesse http://localhost:8080 localmente ou http://<SERVER_IP>:8080 em servidores remotos. A página de teste deverá ser exibida corretamente.

4. Diagnosticar problemas por meio de logs
Copiar link

Se a página não carregar ou ocorrerem erros, inspecione os logs do contêiner:

docker compose logs web

5. Encerramento e limpeza adequados
Copiar link

Parar os contêineres temporariamente:

docker compose stop

Remover todos os recursos do projeto:

docker compose down

Referência de comandos: além do básico
Copiar link

Estes comandos ampliam o gerenciamento de contêineres:

  • docker compose up --build – Reconstruir imagens antes de iniciar os contêineres

  • docker compose pause – Pausar contêineres sem encerrá-los

  • docker compose top – Exibir processos em execução nos contêineres

  • docker compose config – Validar e exibir a configuração final

  • docker compose exec – Executar comandos em contêineres ativos
    (por exemplo, docker compose exec web nginx -t para testar a configuração do Nginx)

Conclusão
Copiar link

O Docker Compose transforma a orquestração de múltiplos contêineres de uma tarefa manual e complexa em um processo estruturado, repetível e eficiente. Seguindo as etapas descritas — instalando o Docker Compose, definindo serviços em YAML e utilizando os comandos essenciais — você pode gerenciar aplicações complexas com segurança e confiança.