Sobes.tech
Middle

Qual é a diferença entre Docker Compose e Docker Swarm?

sobes.tech IA

Resposta da IA

O Docker Compose gere múltiplos contêineres como um único serviço numa única máquina. É utilizado para desenvolvimento, testes e implementações locais. Os ficheiros de configuração são descritos em formato YAML.

O Docker Swarm é um orquestrador integrado do cluster Docker. Permite executar e gerir um cluster distribuído de várias máquinas com Docker. É utilizado para implementações em produção, garantindo escalabilidade, tolerância a falhas e balanceamento de carga.

Principais diferenças:

Característica Docker Compose Docker Swarm
Escalabilidade Numa única máquina Em múltiplas máquinas (cluster)
Propósito Desenvolvimento, testes, local Produção, sistemas distribuídos
Orquestração Não (gerencia vários serviços) Sim (orquestrador embutido)
Tolerância a falhas Não Sim (auto-recuperação de serviços)
Balanceamento de carga Não Sim (embutido)
Configuração de serviços docker-compose.yml docker stack deploy com ficheiro YAML

Exemplo de docker-compose.yml para dois serviços (web e db):

# docker-compose.yml
version: '3.8'
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: mysecretpassword

Exemplo de implantação da stack no Swarm:

# Implantação de serviços descritos no ficheiro YAML
docker stack deploy -c my-swarm-stack.yaml myapp