Windows Docker运行Redis容器时如何传入本地自定义配置文件
解决Windows环境下Docker Redis镜像加载本地配置文件失败问题
错误原因
- Redis官方Docker镜像的默认工作目录为
/data,若直接传入相对路径或Windows本地路径,redis-server会默认在/data目录下查找配置,找不到就触发报错 - 容器无法直接识别Windows本地文件路径,必须使用挂载后容器内部的文件路径指定配置文件
- 若下载的官方默认配置中
daemonize yes参数没有修改,会导致容器启动后立即退出,需要提前调整配置
前置准备
- 修改本地Redis配置文件:找到
daemonize配置项,设置为daemonize no后保存 - 确认Docker Desktop已开启C盘文件共享权限:进入设置→Resources→File Sharing→勾选C盘→点击应用并重启
- 确认本地配置文件后缀为
.conf,若你本地文件名为redis.config请先修改为redis.conf
可用执行命令
方案1:已在PowerShell中切换到C:\Users\<你的用户名>\redis\config目录
docker run -it --rm --name redis --net redis -v ${PWD}:/usr/local/etc/redis redis redis-server /usr/local/etc/redis/redis.conf
参数说明:
-v ${PWD}:/usr/local/etc/redis:将当前本地目录挂载到容器内的/usr/local/etc/redis路径下redis-server /usr/local/etc/redis/redis.conf:指定容器内部的配置文件路径启动服务
方案2:无需切换目录,直接使用绝对路径执行
docker run -it --rm --name redis --net redis -v C:\Users\<你的用户名>\redis\config:/usr/local/etc/redis redis redis-server /usr/local/etc/redis/redis.conf
注意将命令中的
<你的用户名>替换为你实际的Windows系统用户名
内容的提问来源于stack exchange,提问作者earnshae
相关产品推荐
相关产品推荐

