# Swarm Basic Features and How to Use Them In Your Workflow ## Scaling Out with Overlay Networking docker network create --driver overlay mydrupal docker network ls docker service create --name psql --network mydrupal -e POSTGRES_PASSWORD=mypass postgres docker service ls docker service ps psql docker container logs psql TAB COMPLETION docker service create --name drupal --network mydrupal -p 80:80 drupal docker service ls watch docker service ls docker service ps drupal docker service inspect drupal ## Scaling Out with Routing Mesh docker service create --name search --replicas 3 -p 9200:9200 elasticsearch:2 docker service ps search ## Assignment Answers: Create a Multi-Service Multi-Node Web App docker node ls docker service ls docker network create -d overlay backend docker network create -d overlay frontend docker service create --name vote -p 80:80 --network frontend -- replica 2 COPY IMAGE docker service create --name redis --network frontend --replica 1 redis:3.2 docker service create --name worker --network frontend --network backend COPY IMAGE docker service create --name db --network backend COPY MOUNT INFO docker service create --name result --network backend -p 5001:80 COPY INFO docker service ls docker service ps result docker service ps redis docker service ps db docker service ps vote docker service ps worker cat /etc/docker/ docker service logs worker docker service ps worker ## Swarm Stacks and Production Grade Compose docker stack deploy -c example-voting-app-stack.yml voteapp docker stack docker stack ls docker stack ps voteapp docker container ls docker stack services voteapp docker stack ps voteapp docker network ls docker stack deploy -c example-voting-app-stack.yml voteapp ## Using Secrets in Swarm Services docker secret create psql_usr psql_usr.txt echo "myDBpassWORD" | docker secret create psql_pass - TAB COMPLETION docker secret ls docker secret inspect psql_usr docker service create --name psql --secret psql_user --secret psql_pass -e POSTGRES_PASSWORD_FILE=/run/secrets/psql_pass -e POSTGRES_USER_FILE=/run/secrets/psql_user postgres docker service ps psql docker exec -it psql.1.CONTAINER NAME bash docker logs TAB COMPLETION docker service ps psql docker service update --secret-rm ## Using Secrets with Swarm Stacks vim docker-compose.yml docker stack deploy -c docker-compose.yml mydb docker secret ls docker stack rm mydb ## Assignment Answers: Create A Stack with Secrets and Deploy vim docker-compose.yml docker stack deploy - c docker-compose.yml drupal echo STRING |docker secret create psql-ps - VALUE docker stack deploy -c docker-compose.yml drupal docker stack ps drupal