Docker部署Redis主从复制

276 阅读2分钟

开始之前,推荐给大家一套零基础入门Docker教程,刚开始学习的同学可直接点击👇观看哦

i.bjpowernode.com/courses/4.h…

资料下载链接:

www.bjpowernode.com/javavideo/1…

1.  配置镜像

  1. 这里是手写的一份redis镜像,里边参数先不用管,先知道这么用即可 image.png

  2. 把这份镜像文件上传到/usr/redis这个目录下

usr下面的redis这个目录是需要创建的 image.png

2. 容器网络类型

Docker安装后,默认会创建下面三种网络类型

docker network ls查看 image.png

在启动容器时使用   --network bridge 指定网络类型

bridge:桥接网络,docker启动时默认使用的网络类型

none:无指定网络,使用 --network=none ,docker 容器就不会分配局域网的IP

host: 主机网络,使用 --network=host,此时,Docker 容器的网络会附属在主机上,两者是互通的。

例如,在容器中运行一个Web服务,监听8080端口,则主机的8080端口就会自动映射到容器中

3. 指定自定义网络

因为默认的网络不能制定固定的地址,所以我们将创建自定义网络,并指定网段:172.10.0.01/16

docker network create --subnet=172.10.0.0/16 mynetwork image.png

删除自定义网络

docker network rm mynetwork即可

如果命令记不住那么就直接使用docker network help image.png

4. 创建镜像

  1. 查看自己的镜像 docker images image.png

  2. 创建redis-master

docker build -t redis-master  .

创建完之后可以使用docker images来查看生成的镜像,这是刚刚生成的redis主从两个镜像 image.png

5. 创建容器

命令:

docker run -itd --name  redis-master  --net mynetwork  -p 6380:6379  --ip 172.10.0.2  redis

  1. 在打开两个终端,分别执行创建容器命令

image.png

  1. 分别创建redis-master容器和redis-slave image.png

image.png

  1. 查看我们创建的容器 docker ps -a  或者 docker container ls image.png

6. 配置主从集群

  1. 进入到redis的主从两个容器里边去 docker exec -it 97e4f5974e91 /bin/bash

它就相当于一个伪终端

image.png

  1. 容器重启

docker container start containerID image.png

  1. 在cd到etc下,发现并没有redis.conf文件 image.png

  2. 映射宿主机的redis.conf到容器里

这里切记需要把之前创建的容器干掉docker container stop redis-master/docker container rm redis-master,然后在重新创建就会存在redis.conf文件了

docker run -itd  --name  redis-master  -v /usr/local/redis/redis.conf:/etc/redis.conf -v /root/usr/local/redis/data:/data  --net mynetwork  -p 6380:6379  --ip 172.10.0.2  redis

image.png

  1. 修改主动redis的配置文件

在redis-slave里边配置 image.png

然后修该主从两个的配置,这里没有设置密码,所以就先这么弄 image.png

  1. 测试主从复制

可以看到都是没有值的

image.png

image.png

下来给redis-master设置一个值 image.png

然后在redis-slave获取 image.png

这样就配置完成了

————————————————

原文链接:blog.csdn.net/fangkang7/a…