使用docker搭建redis主从的方法步骤
一、构建Docker环境
1、创建dockerfile
FROMcentos:latest RUNgroupadd-rredis&&useradd-r-gredisredis RUNyum-yupdate&&yum-yinstallepel-release&&yum-yinstallredis&&yum-yinstallnet-tools EXPOSE6379
2、构建镜像
dockerbuild-tdocker-test.
3、查看当前镜像
dockeriamges REPOSITORYTAGIMAGEIDCREATEDSIZE docker-testlatestccebd30e466a12minutesago396MB centoslatest470671670cac7weeksago237MB
4、查看docker默认的网络类型
dockernetworkls NETWORKIDNAMEDRIVERSCOPE a43e79987e98bridgebridgelocal 6b73067403dchosthostlocal b8ad4981e57enonenulllocal
5、创建自定义网络类型
dockernetworkcreate--subnet=172.10.0.0/16haveyb-network
二、搭建Redis主从
1、创建redis-master容器
dockerrun-itd--nameredis-master--nethaveyb-network-p6380:6379--ip172.10.0.2docker-test
参数解释:
-i:以交互模式运行容器,通常与-t同时使用
-t:为容器重新分配一个伪输入终端,通常与-i同时使用
-d:后台运行容器,并返回容器ID;
--name:为创建的容器命名
--net:指定网络模式(这里指定刚才创建的自定义网络模式)
-p:端口映射,格式为:主机(宿主)端口:容器端口
--ip:为容器制定一个固定的ip
后面再指定一下使用的镜像(这里使用的就是刚才创建的镜像docker-test)
2、查看运行中的容器
dockerps-a
CONTAINERIDIMAGECOMMANDCREATED dc9344bbd25fdocker-test"/bin/bash"2minutesago STATUSPORTSNAMES Up2minutes0.0.0.0:6380->6379/tcpredis-master
注:查看某个网络下容器的ip地址
dockernetworkinspecthaveyb-network
3、创建redis-slave1、redis-slave2容器
dockerrun-itd--nameredis-slave1--nethaveyb-network-p6381:6379--ip172.10.0.3docker-test dockerrun-itd--nameredis-slave2--nethaveyb-network-p6382:6379--ip172.10.0.4docker-test
4、配置redis-master容器
(1)进入redis-master容器
dockerexec-itredis-masterbash
注:退出容器`exit`
(2)修改redis.conf配置文件
vi/etc/redis.conf
(3)修改参数bind127.0.0.1为0.0.0.0
bind0.0.0.0
(4)设置主redis密码
requirepassYourPasswordSettings
(5)启动主redis
redis-server/etc/redis.conf&
(6)redis-cli
redis-cli authyourPasswordSettings
5、配置redis-slave1
(1)进入redis-slave1容器
dockerexec-itredis-slave1bash
(2)修改redis.conf配置文件
vi/etc/redis.conf
(3)修改参数bind127.0.0.1为0.0.0.0
bind0.0.0.0
(4)设置masterauth,添加以下代码(主redis设置密码后,从redis连接需要此参数验权)
masterauthyourPasswordSettings
(5)设置slaveof(设置主redis的ip和port)
slaveof172.10.0.26379
(5)启动从redis
redis-server/etc/redis.conf&
(6)redis客户端
redis-cli
6、配置redis-slave2
同配置redis-slave1
7、在redis-cli中执行`inforeplication`可以查看主从信息
redis-master
127.0.0.1:6379>inforeplication #Replication role:master connected_slaves:2 slave0:ip=172.10.0.3,port=6379,state=online,offset=3105,lag=1 slave1:ip=172.10.0.4,port=6379,state=online,offset=3105,lag=1 master_replid:a3a43b1957bc5b9f18cb3004301990085e49b0d1 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:3105 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:3105 127.0.0.1:6379>
redis-slave1
127.0.0.1:6379>inforeplication #Replication role:slave master_host:172.10.0.2 master_port:6379 master_link_status:up master_last_io_seconds_ago:1 master_sync_in_progress:0 slave_repl_offset:3203 slave_priority:100 slave_read_only:1 connected_slaves:0 master_replid:a3a43b1957bc5b9f18cb3004301990085e49b0d1 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:3203 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:3203 127.0.0.1:6379>
8、在redis-master中写入key,redis-slave1和redis-slave2已经可以获取了
到此这篇关于使用docker搭建redis主从的方法步骤的文章就介绍到这了,更多相关docker搭建redis主从内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。