Docker構建redis叢集環境
1. 安裝docker(來自官網)
2. 從docker庫獲取redis映象
docker pull redis
3. 從docker庫獲取ruby映象
docker pull ruby
ps:可以利用docker images命令檢視下載的映象
4. 建立redis容器
#在/usr/local/src目錄下建立redis-cluster資料夾並在redis-cluster資料夾下建立配置檔案redis-cluster.conf
cd /usr/local/src && mkdir redis-cluster && touch redis-cluster.conf
#開啟redis-cluster.conf 並插入配置資訊如下:
#port ${PORT}
#cluster-enabled yes
#cluster-config-file nodes.conf
#cluster-node-timeout 5000
#cluster-announce-ip 192.168.65.1
#cluster-announce-port ${PORT}
#cluster-announce-bus-port 1${PORT}
#appendonly yes
vi redis-cluster.conf
5. 建立自定義network(redis-net)
docker network create redis-net
6. 在/usr/local/src/redis-cluster下生成conf和data目標,並生成配置資訊
for port in `seq 6000 6005`; do
mkdir -p ./${port}/conf && PORT=${port} envsubst < ./redis-cluster.conf > ./${port}/conf/redis.conf && mkdir -p ./${port}/data;
done
ps:共生成6個資料夾,從6000到6005,每個資料夾下包含data和conf資料夾,同時conf裡面有redis.conf配置檔案
7. 建立6個redis容器
for port in `seq 6000 6005`; do
docker run -d -ti -p ${port}:${port} -p 1${port}:1${port} -v /home/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /home/redis-cluster/${port}/data:/data --restart always --name redis-${port} --net redis-net --sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf;
done
8. 構建Redis叢集(通過ruby指令碼來實現叢集)
echo yes | docker run -i --rm --net redis-net ruby sh -c ' gem install redis && wget http://download.redis.io/redis-stable/src/redis-trib.rb && ruby redis-trib.rb create --replicas 1 '"$(for port in `seq 6000 6005`; do echo -n "$(docker inspect --format '{{ (index .NetworkSettings.Networks "redis-net").IPAddress }}' "redis-${port}")":${port} ' ' ; done)"
9. 檢查redis叢集
redis-cli -h ip地址 -p 埠號 -c
相關文章
- Docker環境搭建redis叢集(主從模式)DockerRedis模式
- redis 叢集構建Redis
- Docker環境下秒建Redis叢集,連SpringBoot也整上了!DockerRedisSpring Boot
- 基於docker環境下搭建redis主從叢集DockerRedis
- 基於Docker環境構建redis單機容器DockerRedis
- Redis叢集環境搭建實踐Redis
- 12. Redis叢集環境搭建Redis
- Redis叢集環境安裝指南Redis
- docker構建php環境DockerPHP
- Apache httpd和JBoss構建高可用叢集環境Apachehttpd
- Mac 環境下 Redis 叢集的搭建MacRedis
- Docker 構建PHP 映象環境DockerPHP
- docker-redis叢集DockerRedis
- Docker搭建Redis叢集DockerRedis
- Mac 下 利用 docker 構建 MySQL 叢集MacDockerMySql
- redis5.* 手動構建叢集Redis
- 生產環境的redis高可用叢集搭建Redis
- 使用docker-compose構建elasticsearch叢集DockerElasticsearch
- 用 Docker 構建 MySQL 主從環境DockerMySql
- docker 靈活的構建 PHP 環境DockerPHP
- 用 Docker 構建 PHP 開發環境DockerPHP開發環境
- Docker Redis 5.0 叢集(cluster)搭建DockerRedis
- 利用Swarmkit構建Windows/Linux混合Docker叢集SwarmWindowsLinuxDocker
- Zookeeper 叢集環境搭建
- docker 入門講解 - 構建本地環境Docker
- Docker 構建 Java Web 開發環境(一)DockerJavaWeb開發環境
- Docker LNMP Redis 環境搭建DockerLNMPRedis
- Docker 容器搭建及 Redis 叢集原理DockerRedis
- es 5.5.3叢集環境搭建
- 【環境搭建】RocketMQ叢集搭建MQ
- hadoop叢集環境搭建Hadoop
- Glassfish叢集環境的搭建
- 如何構建基於 docker 的開發環境Docker開發環境
- Docker 構建統一的前端開發環境Docker前端開發環境
- 如何構建基於docker的開發環境Docker開發環境
- 從 0 開始使用 Docker 快速搭建 Hadoop 叢集環境DockerHadoop
- 深入理解Redis系列之叢集環境SpringBoot整合RedisSpring Boot
- Redis叢集環境下的-RedLock(真分散式鎖) 實踐Redis分散式