
一.下载redis源码
1.从redis官网下载5.04版本:
redis 5.04 源码,解压之后,可以看到redis.conf。
二.Dockerfile构建
1.新建一个存放Dockerfile的目录:
mkdir -p /home/ubuntu/docker
2.进入到目录下:
cd /home/ubuntu/docker
3.新建Dockerfile 文件
touch Dockerfile
4.将第一步源码解压出来的redis.conf,复制到/home/ubuntu/docker 下
5.打开Dockerfile,写入如下内容
FROM redis
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
echo "deb http://mirrors.aliyun.com/debian wheezy main contrib non-free" >/etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/debian wheezy main contrib non-free" >/etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/debian wheezy-updates main contrib non-free" >/etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/debian wheezy-updates main contrib non-free" >/etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/debian-security wheezy/updates main contrib non-free" >/etc/apt/sources.list && \
echo "deb-src http://mirrors.aliyun.com/debian-security wheezy/updates main contrib non-free" >/etc/apt/sources.list
RUN apt-get update
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
6.构建redis 镜像
docker build -t redis:v5.0.4
7.查看构建的镜像
docker images

三. 配置主redis文件
1.建立主redis配置文件:
mkdir /docker/myredis/6000
cp home/ubuntu/docker/redis.conf redis-6000.conf
2.修改redis-6000.conf文件
port 6000 //将端口修改为6000
requirepass 123456 //配置认证密码123456
# bind 127.0.0.1 # 注释当前行,表示任意ip可连
daemonize no # 一定要设置为daemonize no,防止后docker 后台启动冲突
四.配置从redis配置文件
1.建立主redis配置文件:
mkdir /docker/myredis/6001
cp home/ubuntu/docker/redis.conf redis-6001.conf
2.修改redis-6001.conf文件
port 6001 //将端口修改为6001
requirepass 123456 //配置认证密码123456
replicaof 172.17.0.2 6000 //主redis的ip地址和端口
masterauth 123456 //主redis的认证密码
五.生成主redis容器
docker run -it --name redis-master -v /docker/myredis/6000/redis-6001.conf:/usr/local/etc/redis/redis.conf -d -p 6001:6001 eb147269708c redis-server /usr/local/etc/redis/redis.conf --appendonly yes
六.生成从redis容器
docker run -it --name redis-slave1 -v /docker/myredis/6001/redis-6001.conf:/usr/local/etc/redis/redis.conf -d -p 6001:6001 eb147269708c redis-server /usr/local/etc/redis/redis.conf --appendonly yes
七.查看主从信息
redis-cli - p 6001 -a 123456
info
在出来的一大堆信息里面,往下翻,可以看到Replication信息,如下:

7.测试主从同步
1.连接到主库,并且设置key为name的值 “ set name 'i am first key'”
redis-cli -p 6000 -a 123456
set name 'i am first key'
2.到从库查看name的值
redis-cli -p 6001-a 123456
get name

可以看到上图,主从同步成功。
网友评论