前言
最近使用Redis,想要修改配置文件的时候,发现Docker启动Redis镜像里是没有配置文件的。故写此文章给记录一下我的做法。
一、拉取Redis镜像
docker pull redis
二、创建挂载配置文件和持久化文件目录
在本地磁盘上创建两个目录:
conf
目录:用于挂载配置文件
data
目录:用于存放数据持久化文件
三、创建redis配置文件
1.下载redis配置文件
Redis官网配置文件下载地址:https://redis.io/docs/manual/config/
按需选择配置文件,然后复制一份至本地conf
目录下:
2.修改配置文件
daemonize no
#用守护线程的方式启动
protected-mode no
#关闭保护模式,开启的话,只有本机才可以访问redis
#bind 127.0.0.1
# 注释掉这部分,使redis可以外部访问
(bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可)
四、创建Redis容器并启动
docker run --name redis -p 6379:6379 -v /D/docker/redis/conf/redis_6379.conf:/etc/redis/redis_6379.conf -v /D/docker/redis/data:/data/ -d redis:latest redis-server /etc/redis/redis_6379.conf
注意:我此处并未添加 --appendonly yes
来开启数据持久化,你们如需要可以自行添加。
参数说明:
命令 | 说明 |
---|---|
docker run | 容器启动命令 |
-d | 后台运行 |
–name redis | 设置容器名称 |
-p 6379:6379 | 映射 宿主机端口:容器端口 |
-v /D/docker/redis/data:/data/ | 挂载redis数据到宿主机 |
-v /D/docker/redis/conf/redis_6379.conf:/etc/redis/redis_6379.conf | 挂载redis配置到宿主机 |
redis:版本号 | 指定启动有版本号的image |
redis-server /etc/redis/redis_6379.conf | 指定配置文件启动redis-server进程 |
–appendonly yes | 开启持久化 |
效果如下:
五、进入Redis容器测试
docker exec -it redis bash
cd /etc/redis
参数说明:
命令 | 说明 |
---|---|
docker exec | 在运行的容器中执行命令 |
-d | 分离模式:在后台运行 |
-i | 以交互模式运行容器,通常与-t 同时使用 |
-t | 为容器重新分配一个伪输入终端,通常与 -i 同时使用 |
看到配置文件则说明,redis配置文件已挂载成功。