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

摘抄文档


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM