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