使用docker快速部署redis主从

使用docker快速部署redis主从


首先从docker仓库拉取redis镜像, 可以通过docker pull redis直接拉取最新的镜像, 这里我指定了拉取5.0.7版本的镜像

[root@localhost ~]# docker pull redis:5.0.7
5.0.7: Pulling from library/redis
68ced04f60ab: Pull complete 
7ecc253967df: Pull complete 
765957bf98d4: Pull complete 
52f16772e1ca: Pull complete 
2e43ba99c3f3: Pull complete 
d95576c71392: Pull complete 
Digest: sha256:938ee5bfba605cc85f9f52ff95024e9a24cf5511ba6f1cbc68ec9d91a0432125
Status: Downloaded newer image for redis:5.0.7
docker.io/library/redis:5.0.7

创建两个redis实例分别为redis-master, redis-slave

[root@localhost ~]# docker run -itd -p 6379:6379 --name redis-master redis:5.0.7
dea3b3c2b16b0655db928bd4bcdf6a6a2021c7eb7f81e22b28570eb160fa0050
[root@localhost ~]# docker run -itd -p 6380:6379 --name redis-slave redis:5.0.7
3a6ac34cfe7218e3c016eea9c89331f8032491eb7200cab99f48d7a259abc810
[root@localhost ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
3a6ac34cfe72        redis:5.0.7         "docker-entrypoint.s…"   10 seconds ago      Up 9 seconds        0.0.0.0:6380->6379/tcp   redis-slave
dea3b3c2b16b        redis:5.0.7         "docker-entrypoint.s…"   30 seconds ago      Up 29 seconds       0.0.0.0:6379->6379/tcp   redis-master

测试连接 使用docker快速部署redis主从_第1张图片
使用docker快速部署redis主从_第2张图片
通过命令docker exec进入容器内, 并打开redis-cli

[root@localhost ~]# docker exec -it redis-master bash
root@dea3b3c2b16b:/data# redis-cli 
127.0.0.1:6379> 
[root@localhost ~]# docker exec -it redis-slave bash
root@dea3b3c2b16b:/data# redis-cli 
127.0.0.1:6379> 

在从节点服务器使用SLAVEOF ip地址 端口进行绑定
在这里插入图片描述
绑定之后测试出了点小意外, 使用info replication查看信息使用docker快速部署redis主从_第3张图片

master_link_status:down, 先来看看端口是否开放
在这里插入图片描述
呵, 果然是端口没有开放, 那我们来把端口添加一下
在这里插入图片描述
再来使用info replication查看信息
使用docker快速部署redis主从_第4张图片
这下好了, 我们再来进行测试
在这里插入图片描述
OK没问题, 不过这简单的redis主从已搭建完成。不过推荐大家可以创建数据卷将数据保存到数据卷中, 创建数据卷的命令是docker volume create 数据卷名, 用-v参数与redis容器进行绑定,。还有就是将redis.conf放在宿主机中映射到容器中,在创建容器时指定以映射的redis.conf来启动redis-server。

你可能感兴趣的:(使用docker快速部署redis主从)