Use Docker Swarm for multi-host orchestration, scaling, and zero-downtime rolling updates.
Docker Swarm
docker swarm init --advertise-addr 192.168.1.10
docker swarm join-token worker
docker stack deploy -c docker-compose.yml myapp
docker service ls
docker service ps myapp_web
docker service scale myapp_web=5
docker service update --image myapp:v2 myapp_web
docker service rollback myapp_web
# Rolling update config
deploy:
replicas: 3
update_config:
parallelism: 1
delay: 10s
failure_action: rollback