拉取镜像
docker pull redis
一、单机搭建
redis数据挂载目录
mkdir /usr/local/redis
mkdir /usr/local/redis/data
redis配置文件
本地新建redis配置文件 redis.conf ,写入以下内容
创建文件:
vi /usr/local/docker/redis/redis.config
写入内容
#允许外网访问
bind 0.0.0.0
daemonize NO
protected-mode no
创建容器
docker create --name redis-single -v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis/data:/data -p 6379:6379 redis:latest redis-server /etc/redis/redis.conf --appendonly yes
命令说明:
-p 6379:6379 : 将容器的6379端口映射到主机的6379端口(冒号前面指定的端口)
–name redis-single : 容器名字
-v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf : 将主机中配置文件挂载到容器中
-v /usr/local/docker/redis/data:/data : 将主机中data挂载到容器的/data
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
redis-server /etc/redis/redis.conf : 容器中以配置文件方式启动redis
启动
docker start redis-single
开放端口
firewall-cmd --add-port=6379/tcp --permanent
重载入添加的端口:
firewall-cmd --reload
二、集群搭建
创建Redis容器
docker create --name redis-node1 -v /data/redis-data/node1:/data -p 6380:6379 redis:latest --cluster-enabled yes --cluster-config-file nodes-node-1.conf
docker create --name redis-node2 -v /data/redis-data/node2:/data -p 6381:6379 redis:latest --cluster-enabled yes --cluster-config-file nodes-node-2.conf
docker create --name redis-node3 -v /data/redis-data/node3:/data -p 6382:6379 redis:latest --cluster-enabled yes --cluster-config-file nodes-node-3.conf
启动并组建集群
docker start redis-node3 redis-node2 redis-node1
开放端口
firewall-cmd --add-port=6380/tcp --permanent
firewall-cmd --add-port=6381/tcp --permanent
firewall-cmd --add-port=6382/tcp --permanent
重载入添加的端口:
firewall-cmd --reload
备注
目前集群版只是支持在同一个宿主机中使用