Skip to content

Files

Latest commit

1a6f680 · Apr 14, 2023

History

History
This branch is 36 commits behind marcel-dempers/docker-development-youtube-series:master.

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Aug 5, 2020
Feb 7, 2023
Jul 31, 2020
Apr 14, 2023
Feb 7, 2023

Redis

redis-intro

Docker

Docker image over here

Running redis

docker network create redis
docker run -it --rm --name redis --net redis -p 6379:6379 redis:6.0-alpine

Configuration

Redis configuration documentation here

Starting Redis with a custom config

cd .\storage\redis\
docker run -it --rm --name redis --net redis -v ${PWD}/config:/etc/redis/ redis:6.0-alpine redis-server /etc/redis/redis.conf

Security

Redis should not be exposed to public. Always use a strong password in redis.conf

requirepass SuperSecretSecureStrongPass

Persistence

Redis Persistence Documentation here

docker volume create redis
cd .\storage\redis\
docker run -it --rm --name redis --net redis -v ${PWD}/config:/etc/redis/ -v redis:/data/  redis:6.0-alpine redis-server /etc/redis/redis.conf

Redis client application

An example application that reads a key from Redis, increments it and writes it back to Redis.

cd .\storage\redis\applications\client\

# start go dev environment
docker run -it -v ${PWD}:/go/src -w /go/src --net redis -p 80:80 golang:1.14-alpine

go build client.go
# start the app
./client

# build the container
docker build . -t aimvector/redis-client:v1.0.0

Run our application

cd .\storage\redis\applications\client\
docker build . -t aimvector/redis-client:v1.0.0

docker run -it --net redis `
-e REDIS_HOST=redis `
-e REDIS_PORT=6379 `
-e REDIS_PASSWORD="SuperSecretSecureStrongPass" `
-p 80:80 `
aimvector/redis-client:v1.0.0

Redis Replication and High Availability

Lets move on to the clustering secion.