Create Image and Deploy Containers for Redis Stack Servers (1 Primary and 2 Replicas) with Auto Failover for an IOT Application.
* Build
sudo docker build --no-cache -t iot/ubuntu-22.04-redis-stack-server-6.2.6-v7:latest .
* Deploy containers
set PWD=%cd% && sudo docker compose -f docker-compose-redis.yml --project-directory $PWD --project-name "iot-app" up -d
* stop and remove containers with related network
set PWD=%cd% && sudo docker compose -f docker-compose-redis.yml --project-directory $PWD --project-name "iot-app" down
* stop services
set PWD=%cd% && sudo docker compose -f docker-compose-redis.yml --project-directory $PWD --project-name "iot-app" stop
* start services
set PWD=%cd% && sudo docker compose -f docker-compose-redis.yml --project-directory $PWD --project-name "iot-app" start
* logs: view output from containers
set PWD=%cd% && sudo docker compose -f docker-compose-redis.yml --project-directory $PWD --project-name "iot-app" logs
* Redis Nodes
sudo docker exec -it redis-node1 /bin/bash -c "sudo tail -n 600 /var/log/redis.log"
sudo docker exec -it redis-node2 /bin/bash -c "sudo tail -n 600 /var/log/redis.log"
sudo docker exec -it redis-node3 /bin/bash -c "sudo tail -n 600 /var/log/redis.log"
* Sentinel Nodes
sudo docker exec -it sentinel-node1 /bin/bash -c "sudo tail -n 600 /var/log/redis/redis-sentinel.log"
sudo docker exec -it sentinel-node2 /bin/bash -c "sudo tail -n 600 /var/log/redis/redis-sentinel.log"
sudo docker exec -it sentinel-node3 /bin/bash -c "sudo tail -n 600 /var/log/redis/redis-sentinel.log"
* Redis Nodes
sudo docker exec -it redis-node1 /bin/bash
sudo docker exec -it redis-node2 /bin/bash
sudo docker exec -it redis-node3 /bin/bash
* Sentinel Nodes
sudo docker exec -it sentinel-node1 /bin/bash
sudo docker exec -it sentinel-node2 /bin/bash
sudo docker exec -it sentinel-node3 /bin/bash
* Redis Nodes
redis-cli --raw -h localhost -p 6379 --tls --cert /etc/ssl/certs/server.crt --key /etc/ssl/certs/server.key --cacert /etc/ssl/certs/root.crt -a
* Sentinel Nodes
redis-cli --raw -h localhost -p 26379 --tls --cert /etc/ssl/certs/server.crt --key /etc/ssl/certs/server.key --cacert /etc/ssl/certs/root.crt -a
* Redis Nodes
sudo docker exec -it redis-node1 /bin/bash -c "sudo redis-cli --raw -h localhost -p 6379 --tls --cert /etc/ssl/certs/server.crt --key /etc/ssl/certs/server.key --cacert /etc/ssl/certs/root.crt -a password INFO"
sudo docker exec -it redis-node2 /bin/bash -c "sudo redis-cli --raw -h localhost -p 6379 --tls --cert /etc/ssl/certs/server.crt --key /etc/ssl/certs/server.key --cacert /etc/ssl/certs/root.crt -a password INFO"
sudo docker exec -it redis-node3 /bin/bash -c "sudo redis-cli --raw -h localhost -p 6379 --tls --cert /etc/ssl/certs/server.crt --key /etc/ssl/certs/server.key --cacert /etc/ssl/certs/root.crt -a password INFO"
* Sentinel Nodes
sudo docker exec -it sentinel-node1 /bin/bash -c "sudo redis-cli --raw -h localhost -p 26379 --tls --cert /etc/ssl/certs/server.crt --key /etc/ssl/certs/server.key --cacert /etc/ssl/certs/root.crt -a password INFO"
sudo docker exec -it sentinel-node2 /bin/bash -c "sudo redis-cli --raw -h localhost -p 26379 --tls --cert /etc/ssl/certs/server.crt --key /etc/ssl/certs/server.key --cacert /etc/ssl/certs/root.crt -a password INFO"
sudo docker exec -it sentinel-node3 /bin/bash -c "sudo redis-cli --raw -h localhost -p 26379 --tls --cert /etc/ssl/certs/server.crt --key /etc/ssl/certs/server.key --cacert /etc/ssl/certs/root.crt -a password INFO"
Copyright © 2023. MongoExpUser
Licensed under the MIT license.