基于Docker搭建Redis一主两从三哨兵【附源码】_Java知音_51CTO博客
作者:oscarwin 这段时间正在学习Redis和容器相关的内容,因此想通过docker搭建一套redis主从系统来加深理解。看这篇文章可能你需要一定的docker基础,以及对redis主从和哨兵机制有所了解。 这次实验准备了三台云主机,系统为Debian,ip分别为:35.236.172.131 ,35.201.200.251,34.80.172.42。 首先分别在这三台主机上安装docker,然后每台主机上启动一个redis容器,运行redis-server服务,其中35.236.172.131作为master,另外两台机器作为slave,最后在三台主机上再分别启动一个redis容器,运行redis-sentinel。为什么还是redis容器呢?因为sentinel实际上还是一个redis-server,只不过是以sentinel模式执行,只能处理sentinel需要的一些命令。 docker的安装有很多种方法,这里就不介绍了。本次使用脚本安装docker,Debian系统脚本安装如下,其他系统可以参考Docker官网的安装方法: https://docs.docker.com/install/linux/docker-ce/debian/ 不过下面的命令在官网命令的基础上修改镜像源为阿里云,因为国内镜像往往会快一些。 在物理主机或者云虚拟主机上运行下面的命令就可以完成docker安装了,当然我是在Debian系统上,其他系统相应参考官网上的方法。 $ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh --mirror Aliyun docker是以客户端和服务器模型运行的,因此需要先运行docker的服务器,服务器以daemon的形式运行。docker CE是docker的社区版本。 $ sudo systemctl enable docker $ sudo systemctl start docker 下面的这条命令是从docker的官方仓库拉取一个名为hello-world的镜像,并通过这个镜像启动一个容器。 $ docker run hello-world 如果运行结果如下,出现了Hello from Docker!,说明docker安装成功了 $ docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 1b930d010525: Pull complete Digest: sha256:6540fc08ee6e6b7b63468dc3317e3303aae178cb8a45ed3123180328bcc1d20f Status: Downloaded newer image for hello-world:latest Hello from Docker!
https://blog.51cto.com/u_12302929/3320778