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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了