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叢集,連SpringBoot也整上了!DockerRedisSpring Boot
- redis 叢集構建Redis
- 基於docker環境下搭建redis主從叢集DockerRedis
- Redis 4.0叢集環境部署Redis
- 基於Docker環境構建redis單機容器DockerRedis
- Redis叢集環境搭建實踐Redis
- 12. Redis叢集環境搭建Redis
- docker構建php環境DockerPHP
- Mac 環境下 Redis 叢集的搭建MacRedis
- 構建生產環境可用的高可用kubernetes叢集
- Docker 構建PHP 映象環境DockerPHP
- redis叢集之分片叢集的原理和常用代理環境部署Redis
- docker-redis叢集DockerRedis
- Docker搭建Redis叢集DockerRedis
- 使用docker-compose構建elasticsearch叢集DockerElasticsearch
- Mac 下 利用 docker 構建 MySQL 叢集MacDockerMySql
- redis5.* 手動構建叢集Redis
- 利用Swarmkit構建Windows/Linux混合Docker叢集SwarmWindowsLinuxDocker
- 用 Docker 構建 MySQL 主從環境DockerMySql
- 用 Docker 構建 PHP 開發環境DockerPHP開發環境
- docker 靈活的構建 PHP 環境DockerPHP
- 深入理解Redis系列之叢集環境SpringBoot整合RedisSpring Boot
- Zookeeper 叢集環境搭建
- Docker Redis 5.0 叢集(cluster)搭建DockerRedis
- docker 入門講解 - 構建本地環境Docker
- Docker LNMP Redis 環境搭建DockerLNMPRedis
- es 5.5.3叢集環境搭建
- 【環境搭建】RocketMQ叢集搭建MQ
- Docker 構建統一的前端開發環境Docker前端開發環境
- 如何構建基於 docker 的開發環境Docker開發環境
- Docker 容器搭建及 Redis 叢集原理DockerRedis
- Redis叢集環境下的-RedLock(真分散式鎖) 實踐Redis分散式
- 徒手用 Docker 構建自己的 PHP 開發環境DockerPHP開發環境
- 基於 Docker 構建統一的開發環境Docker開發環境
- 1分鐘將你的jenkins構建環境遷移到K8S叢集上JenkinsK8S
- Redis系列:搭建Redis叢集(叢集模式)Redis模式
- 基於Docker和Kubernetes構建的部署管理和叢集管理Docker
- RabbitMQ(四):使用Docker構建RabbitMQ高可用負載均衡叢集MQDocker負載