docker redis自定义配置文件启动

2019-02-17  本文已影响0人  茧铭

最近几天尝试使用redis 、rabbitMQ、springboot 搭建一个网站购物的Demo,因为一些缘故需要修改redis的配置。但是进入docker 进入redis已经启动的容器后,没有找到redis的配置文件redis.conf

从网站查了一下资料,docker启动redis镜像里是没有配置文件的,至于其他的太多了没看。下面我描述一下我的做法:

1、停止并删除当前容器。
2、取一份新的redis.conf,并修改需要的配置,一般来说我们需要修改的内容仅有下面几个

# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
deamonize  no
# 你可以绑定单一接口,如果没有绑定,所有接口都会监听到来的连接
#  bind 127.0.0.1     
# 因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly no
# 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过
# auth <password>命令提供密码,默认关闭,当前密码为123456
requirepass 123456

3、将redis.conf放置在宿主机的/root/redis/redis.conf的路径上,并映射到docker容器的/etc/redis/redis.conf位置。此后在启动容器的docker run创建并启动容器的时候,可以使redis使用被映射的redis.conf配置文件。
4、启动redis的容器
(其中关于docker VOLUME的内容可以参考这一边文章
https://www.cnblogs.com/kevingrace/p/6238195.html

docker run -d -p 6379:6379 --name redis3 
-v /root/redis/redis.conf:/etc/redis/redis.conf 
-v root/redis/data:/data    
hub.c.163.com/library/redis:latest 
redis-server /etc/redis/redis.conf  --appendonly yes

将本地配置文件映射到镜像中,这样更改本地文件就可以直接修改镜像中的配置了,更改之后使用docker restart+容器ID 重启服务。  
-v /docker/redis/redis.conf:/etc/redis/redis.conf 
-v root/redis/data:/data   

启动时最后也可以加配置参数“--appendonly yes”

上面这个过程中有一个坑,即“daemonize no”这个配置,如果在启动容器的时候这个参数值为yes的话,是无法启动镜像的。

上一篇下一篇

猜你喜欢

热点阅读