Sobes.tech
Junior

O que é Docker Compose?

sobes.tech IA

Resposta da IA

Ferramenta para definir e executar aplicações Docker multicontêiner. Permite descrever serviços, redes e volumes num único ficheiro YAML e executá-los com um único comando.

Funções principais:

  • Definição de múltiplos serviços num único ficheiro.
  • Criação e execução de todos os serviços com um único comando.
  • Gestão do ciclo de vida da aplicação (início, paragem, reinício, escalonamento).
  • Interação de rede entre os contêineres.
  • Aplicação de configuração em tempo real.

Exemplo de ficheiro docker-compose.yml:

version: '3.8' # Versão do formato do ficheiro

services:
  web: # Nome do serviço
    image: nginx:latest # Imagem utilizada
    ports:
      - "80:80" # Encaminhamento de portas
    volumes:
      - ./html:/usr/share/nginx/html # Mapeamento de volumes

  app: # Nome de outro serviço
    build: . # Construção da imagem a partir do Dockerfile no diretório atual
    ports:
      - "5000:5000"
    depends_on: # Dependência de outro serviço
      - db

  db: # Nome do serviço de base de dados
    image: postgres:latest
    environment: # Variáveis de ambiente
      POSTGRES_DB: mydatabase
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword

volumes: # Volumes definidos
  data: # Volume nomeado para dados

Comandos:

  • docker-compose up: Inicia os contêineres.
  • docker-compose down: Para e remove os contêineres.
  • docker-compose build: Constrói as imagens.
  • docker-compose ps: Mostra o estado dos contêineres em execução.

Vantagens:

  • Simplifica a gestão de aplicações multicontêiner complexas.
  • Garante a reprodutibilidade do deployment.
  • Facilita o desenvolvimento e testes locais.