docker-compose启动redis多机集群的实现

第一步

环境配置:

1

第二步

部署:

redis-node-1

yml

version: '2.2'

services:

redis-node-1:

image: bitnami/redis-cluster:7.0

restart: always

container_name: redis-node-1

network_mode: "host"

volumes:

- ./redis-cluster_data-1:/bitnami/redis/data

environment:

- 'REDIS_PASSWORD=liubei@161'

- 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

持久化存储

如果我们不是root用户,自动创建挂载文件权限容器中执行初始化的过程一般会有问题。这里以容器中执行初始化的用户对应宿主机ID是1001的用户为例,他提前给了权限。如果你不是这个用户,可以先给777权限。等容器启动后看初始化后的文件主人是谁,就把该目录的主人改成谁,后面改回755或750权限就可以了。

[root@liubei-01 redis-cluster]# mkdir ./redis-cluster_data-1

[root@liubei-01 redis-cluster]# chown 1001 ./redis-cluster_data-1

启动

[root@liubei-01 redis-cluster]# docker-compose up -d

查看结果

[root@liubei-01 redis-cluster]# docker-compose ps

Name Command State Ports

--------------------------------------------------------------------------------------------------------

redis-node-1 /opt/bitnami/scripts/redis ... Up

redis-node-2

version: '2.2'

services:

redis-node-2:

image: bitnami/redis-cluster:7.0

restart: always

container_name: redis-node-2

network_mode: "host"

volumes:

- ./redis-cluster_data-2:/bitnami/redis/data

environment:

- 'REDIS_PASSWORD=liubei@161'

- 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

持久化存储

跟上边一样,我在重复一遍。如果我们不是root用户,自动创建挂载文件权限容器中执行初始化的过程一般会有问题。这里以容器中执行初始化的用户对应宿主机ID是1001的用户为例,他提前给了权限。如果你不是这个用户,可以先给777权限。等容器启动后看初始化后的文件主人是谁,就把该目录的主人改成谁,后面改回755或750权限就可以了。

[root@liubei-02 redis-cluster]# mkdir ./redis-cluster_data-2

[root@liubei-02 redis-cluster]# chown 1001 ./redis-cluster_data-2

启动

[root@liubei-02 redis-cluster]# docker-compose up -d

查看结果

[root@liubei-02 redis-cluster]# docker-compose ps

Name Command State Ports

--------------------------------------------------------------------------------------------------------

redis-node-2 /opt/bitnami/scripts/redis ... Up

redis-node-3

services:

redis-node-3:

image: bitnami/redis-cluster:7.0

restart: always

container_name: redis-node-3

network_mode: "host"

volumes:

- ./redis-cluster_data-3:/bitnami/redis/data

environment:

- 'REDIS_PASSWORD=liubei@161'

- 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

持久化存储

[root@liubei-03 redis-cluster]# mkdir ./redis-cluster_data-3

[root@liubei-03 redis-cluster]# chown 1001 ./redis-cluster_data-3

启动

[root@liubei-03 redis-cluster]# docker-compose up -d

查看结果

[root@liubei-03 redis-cluster]# docker-compose ps

Name Command State Ports

--------------------------------------------------------------------------------------------------------

redis-node-3 /opt/bitnami/scripts/redis ... Up

redis-node-4

services:

redis-node-4:

image: bitnami/redis-cluster: 7.0

restart: always

container_name: redis-node-4

network_mode: "host"

volumes:

- ./redis-cluster_data-4:/bitnami/redis/data

environment:

- 'REDIS_PASSWORD=liubei@161'

- 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

持久化存储

[root@liubei-04 redis-cluster]# mkdir ./redis-cluster_data-4

[root@liubei-04 redis-cluster]# chown 1001 ./redis-cluster_data-4

启动

[root@liubei-04 redis-cluster]# docker-compose up -d

查看结果

[root@liubei-04 redis-cluster]# docker-compose ps

Name Command State Ports

--------------------------------------------------------------------------------------------------------

redis-node-4 /opt/bitnami/scripts/redis ... Up

redis-node-5

redis-node-5

services:

redis-node-5:

image: bitnami/redis-cluster: 7.0

restart: always

container_name: redis-node-5

network_mode: "host"

volumes:

- ./redis-cluster_data-5:/bitnami/redis/data

environment:

- 'REDIS_PASSWORD=liubei@161'

- 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

持久化存储

[root@liubei-05 redis-cluster]# mkdir ./redis-cluster_data-5

[root@liubei-05 redis-cluster]# chown 1001 ./redis-cluster_data-5

启动

[root@liubei-05 redis-cluster]# docker-compose up -d

查看结果

[root@liubei-05 redis-cluster]# docker-compose ps

Name Command State Ports

--------------------------------------------------------------------------------------------------------

redis-node-5 /opt/bitnami/scripts/redis ... Up

redis-node-6

services:

redis-node-6:

image: bitnami/redis-cluster: 7.0

restart: always

container_name: redis-node-6

network_mode: "host"

volumes:

- ./redis-cluster_data-6:/bitnami/redis/data

environment:
- 'REDIS_PASSWORD=liubei@161'

- 'REDIS_NODES=10.10.239.31 10.10.239.32 10.10.239.33 10.10.239.34 10.10.239.35 10.10.239.36'

持久化存储

[root@liubei-06 redis-cluster]# mkdir ./redis-cluster_data-6

[root@liubei-06 redis-cluster]# chown 1001 ./redis-cluster_data-6

启动

[root@liubei-06 redis-cluster]# docker-compose up -d

查看结果

[root@liubei-06 redis-cluster]# docker-compose ps

Name Command State Ports

--------------------------------------------------------------------------------------------------------

redis-node-6 /opt/bitnami/scripts/redis ... Upd

第三步

数据初始化:

redis-cli -h 10.10.239.31 -a liubei@161 --cluster create 10.10.239.31:6379 10.10.239.32:6379 10.10.239.33:6379 10.10.239.34:6379 10.10.239.35:6379 10.10.239.36:6379 --cluster-replicas 1

第四步

测试

I have no name!@0fc49662e765:/$ redis-cli -h 10.10.239.31 -a liubei@161 -c

Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.

10.10.239.31:6379> set name liubei

-> Redirected to slot [5798] located at 10.10.239.35:6379

OK

10.10.239.35:6379> get name

"liubei"

10.10.239.35:6379>

原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/4217.html

发表评论

登录后才能评论