docker redis - redis启动将配置文件挂载在数据卷(volume)中

关键词

[
    "linux",
    "docker",
    "volume",
    "redis",
    "redis.conf"
]

我的配置

{
    "redis版本":"6.5",
    "":""
}

1.下载redis.conf

>>>---传送门---<<<

注意事项 : 注意redis版本号 ( 我redis是6.5.0 , 但是我下载6.2.6的redis.conf也可以 )
(个人还是建议下载版本比较低的redis.conf)

修改redis.conf配置

#若不注释就只能本地连接 (默认不注释)
# bind 127.0.0.1 -::1

#后台运行
#默认"daemonize no",修改为"daemonize yes"
#在redis.conf中注掉daemonize yes这一行,或者改为daemonize no。
#因为我们的docker run里参数-d就是以守护进程方式启动redis,而配置文件里daemonize yes这个东东再次以守护进程方式启动,
#而且它会读取pidfile这个配置的文件作为进程ID文件。说白了,就是docker启动参数跟redis.conf配置冲突了。
daemonize no

#认证密码
#默认注释"# requirepass foobared",取消注释并修改密码"requirepass your_password"
requirepass your_password

2.创建数据卷(volume),并将redis.conf复制到此数据卷的文件夹下

#创建数据卷
docker volume create redis_conf

#检查redis_conf这个volume的基本信息
docker volume inspect redis_conf
[
    {
        "CreatedAt": "2022-01-18T15:07:08+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/redis_conf/_data",
        "Name": "redis_conf",
        "Options": {},
        "Scope": "local"
    }
]

#找到数据卷在服务器上的地址 - "/var/lib/docker/volumes/redis_conf/_data",
#并切换目录至该地址
cd /var/lib/docker/volumes/redis_conf/_data

#将第1步整理好的"redis.conf"上传到服务器的路径"/var/lib/docker/volumes/redis_conf/_data",

3.执行docker run...并配置

首先明确一点 , 只要没有"path/path/redis.conf"这个conf文件,"-v path/path/redis.conf:/etc/redis.conf",映射的只是路径!

#以前执行docker run , 都是以{images Name / image Id}结尾
#这次是在{images Name / image Id}后又加了其他执行参数 .
docker run --name redis_ -p 6379:6379 -itd -v redis_conf:/etc/redis redis redis-server /etc/redis/redis.conf

摘抄文档

posted @   zh89233  阅读(1246)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示