file | use |
---|---|
docker-compose.yml | Run the full app in a single machine. For dev (run in your machine) and tests |
docker-compose-stack.yml | Run the app in arqss swarm |
Use docker-compose
to deploy the full app in a single machine for testing
docker-compose build # Build images
docker-compose up -d # Run them
Use docker stack deploy
to deploy the app in a docker swarm manager node
# Initialize swarm in a node
docker swarm init
# Use provided command to join
# other nodes into swarm
# Create network for the stack
docker network create --driver overlay proxy
# Deploy the stack
docker stack deploy -c docker-compose-stack.yml arqui
To unmount the stack and the swarm
docker stack rm arqui
docker network rm proxy
docker swarm leave --force
If a new version of a service image is available we can update it
docker service update --image <image> <service>
This will update one service task at a time, reducing downtime
Number of services updated in parallel is defined in the stack file
docker container ls
Config and helpers scripts can be found in the scripts folder
script | use |
---|---|
createDbFolder.sh | (DON'T RUN) Create database folders for volume mount |
dockerMachine.sh | (DON'T RUN) Configure docker-machine with all arqss machines |
installDocker.sh | Install docker, docker-compose and docker-machine on all arqss machines |
removeNginx.sh | Remove nginx from all arqss machines |