A Chaos Monkey system for Docker Swarm.
Implemented for the book 12 Factor Applications with Docker and Go.
Creating a disposable service
Creating a disposable service is as simple as adding a label
docker service create -l role=disposable --name gotwitter titpetric/gotwitter
chaos.sh you can set two environment variables:
DOCKER_LABEL- "key=value" label that services must have to be killed off
SKIP_WARNING=1- skip initial warning
- If the service has only 1 replica (1/1), a container will not be killed.
- If the service has incomplete replicas (4/5), a container will not be killed.
- If no containers are running on the current host, no containers will be killed.
- Only one container per service is killed if the above conditions are met.