1、启动docker
systemctl start docker
2、拉取redis镜像
docker pull redis:5.0.3
注意,如果不注明版本号,则拉取最新版本
3、创建本地redis挂载目录
mkdir -p /root/redis/data /root/redis/conf
4、创建redis.conf文件
touch /root/redis/data /root/redis/conf/redis.conf
5、修改redis.conf文件
下载链接:https://www.lanzous.com/i68hlah
该配置文件可自行在网上下载,http://download.redis.io/releases/,主要修改如下几个配置。
修改之前:
bind 127.0.0.1 protected-mode yes #requirepass yourpassword
修改之后:
#bind 127.0.0.1 protected-mode no requirepass yourpassword
其中 yourpassword 为你的密码。
6、创建redis容器
docker run -d --name redis -p 6379:6379 -v /root/redis/conf/redis.conf:/redis.conf -v /root/redis/data:/data redis:5.0.3 redis-server --appendonly yes
-d 后台运行
-p 端口映射到主机的端口
-v 将主机目录挂载到容器的目录
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置

7、启动创建的redis容器
docker start redis
执行如上命令如果报如下错误时:
本书将PHP开发与MySQL应用相结合,分别对PHP和MySQL做了深入浅出的分析,不仅介绍PHP和MySQL的一般概念,而且对PHP和MySQL的Web应用做了较全面的阐述,并包括几个经典且实用的例子。 本书是第4版,经过了全面的更新、重写和扩展,包括PHP5.3最新改进的特性(例如,更好的错误和异常处理),MySQL的存储过程和存储引擎,Ajax技术与Web2.0以及Web应用需要注意的安全
Error response from daemon: driver failed programming external connectivity on endpoint redis (086c7fdf5eb7a696753d7414e93202eefd474370658e8c090bca5608c6e29a11): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 6379 -j DNAT --to-destination 172.17.0.2:6379 ! -i docker0: iptables: No chain/target/match by that name. (exit status 1)) Error: failed to start containers: redis
解决方法:重启docker,然后再重启redis容器
systemctl restart docker docker start redis
8、开启防火墙6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent firewall-cmd --reload
9、本地连接测试

10、连接错误

连接失败的话,首先检查是否能在服务端登陆redis
docker exec -it redis redis-cli
进入redis后输入如下指令:
auth "你的密码"
如果提示:
(error) ERR Client sent AUTH, but no password is set
说明我们设置的密码并没有生效,那么需要再执行一下如下指令:
config set requirepass “你的密码”









