docker启动redis、并加载配置文件


 

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:讲真,过程艰辛,技术并不难,但是坑实在太多了,希望你们可以顺利拿下