docker以配置文件的方式启动Redis,看似简单,其实暗藏杀机、填坑无数,let us look look.
◆◆Step:准备 redis.conf
redis官网:https://redis.io/
进入官网,直接下载 redis-xxx.tar.gz,然后解压得到redis.conf
杀机:请保持官网和docker中redis版本一致,不同版本redis的配置文件可能不一样。
◆◆Step:本机上创建redis目录,放入配置文件和创建数据目录备用,并修改配置文件
1:创建redis目录
# cd /usr # 进入/usr目录
# mkdir redis # 创建redis目录
# cd redis # 进入redis目录
# 将准备好的redis.conf放进reids目录
# mkdir data # 创建redis数据目录
2:修改配置文件
开启redis验证 requirepass 123
允许redis外地连接
杀机:务必将 daemonize yes注释起来,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败
开启redis数据持久化 appendonly yes
◆◆Step:docker下载redis镜像
因为准备的redis.conf是5.0.5版本的 所有docker下载镜像的版本也是5.0.5
# docker pull redis:5.0.5
查看下载好的redis镜像
# docker images
◆◆Step:启动redis
# docker run -d -p 6379:6379 -v /usr/redis/redis.conf:/etc/redis/redis.conf -v /usr/redis/data:/data --name myredis redis:5.0.5 redis-server /etc/redis/redis.conf
-d:容器后台运行,并返回容器ID
-p:指定端口映射,格式为:主机(宿主)端口:容器端口
-v:绑定一个卷,资源映射
–name:给容器命名
redis-server /etc/redis/redis.conf:指定容器启动时执行的命令
◆◆Step:进入容器,检验配置文件是否生效
查看容器ID
# docker ps -a # 这个命令是查看所有容器,包括已停止的,如果redis容器是停止的,请仔细检查问题
# docker ps # 查看正在运行的容器
进入容器
# docker exec -it aed124a0ca6d /bin/bash
连接redis,检验redis是否开启了验证,若开启,说明配置文件起作用了,恭喜你成功了,否则,找问题吧
最后查看一下redis的数据目录映射有没有效果吧
tip:讲真,过程艰辛,技术并不难,但是坑实在太多了,希望你们可以顺利拿下