第一步:创建存储目录,日志目录,配置文件目录
命令:sudo mkdir -p /home/redis/{conf,data,log}
第二步:创建日志文件
命令:sudo touch /home/redis/log/redis.log
第三步:将redis.conf文件上传到/home/redis/redis.conf目录
因为docker部署的redis并不自带redis.conf文件,需要自己下载
先切换目录,命令:cd /home/redis/redis.conf
在线下载命令:sudo wget http://download.redis.io/redis-stable/redis.conf
服务器无网可在有网的电脑上浏览器输入以下地址下载,然后再上传服务器
http://download.redis.io/redis-stable/redis.conf
第四步:修改redis.conf配置文件以下内容
# 让外部设备连接
bind 0.0.0.0
# 关闭保护模式
protected-mode no
# 关闭后台运行(避坑提示,因为docker运行就已经有后台守护,改为yes会启动不了redis)
daemonize no
# 设置日志文件路径(避坑提示,此路径为容器内的路径,切勿当成宿主路径)
logfile "/etc/redis.log"
# 设置主服务器密码(为以后redis集群做基础,无集群需求可以不添加)
masterauth 123456
# 设置redis密码(如果以后有哨兵集群需求,主与从的redis密码必须一致)
requirepass 123456
第四步:赋予配置文件和日志文件权限
命令:chmod 777 /home/redis/conf/redis.conf /home/redis/log/redis.log
docker run --name redis --restart=always -p 6379:6379 -v /home/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -v /home/redis/log/redis.log:/etc/redis.log -d redis redis-server /etc/redis/redis.conf
解析:
-p:主机端口:容器端口。
-d:启动的镜像名称。
--name:设置容器名称。
--restart=always:设置docker启动时,容器跟随自启。
redis-server /etc/redis/redis.conf:启动redis镜像时指定配置文件进行启动
-v /home/redis/log/redis.log:/etc/redis.log:挂载容器日志到宿主,方便查看日志。
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf:挂载容器配置文件到宿主,方便修改配置文件。
-v /home/redis/data:/data:挂载容器存储文件到宿主,避免因不小心卸载容器或者容器损坏导致数据丢失不可找回风险。
4.开放防火墙端口
开启防火墙指定端口命令:
firewall-cmd --add-port=6379/tcp --permanent
刷新防火墙端口命令:
firewall-cmd --reload
5.验证redis是否部署成功
进入容器并进入redis-cli
命令:docker exec -it redis bash -c "redis-cli -a 密码"
设置键命令:set 键名称 值
获取键命令:get 键名称
返回值,说明docker部署的redis正常运行