redis7.2.1在windows中通过docker使用的踩坑

发布时间 2023-10-17 23:19:48作者: duxingmengshou

原本主要是参考了这两篇文章

https://blog.csdn.net/weixin_45821811/article/details/116211724

https://cloud.tencent.com/developer/article/1670205

但是由于都是基于linux系统下的,可能与windows有些不同。

首先,在https://hub.docker.com/_/redis?tab=tags docker官网上找到官方镜像,

 根据提示在powershell中docker pull redis

默认安装最新版7.2.1

我们肯定是用配置文件的,就找redis官网的配置文件

https://redis.io/docs/management/config/

 选对应的版本就行了

 

7.2.1的网站是这个https://raw.githubusercontent.com/redis/redis/7.2/redis.conf

正常来说是把本机的配置文件映射到虚拟机,然后就配置完成启动了,

但是配置文件还是要改的,

 

基本上都说的是这几项,其实理论上只需把绑定端口注释掉就行了

所以我就只把绑定端口注释掉了,然后运行

 docker run -p 6379:6379 --name redis --privileged=true -v E:/redis_docker/conf:/home/conf  -v E:/redis_docker/data:/data -d redis redis-server /home/conf/redis.conf

-v E:/redis_docker/conf:/home/conf这句是映射配置文件,其实映射到哪里都一样,反正最后redis服务启动后面是跟着配置文件的地址参数的

到此为止都还是很正常的

但是奇怪的地方就出现了,

 

镜像启动正常,redis服务也可以直接通过exec命令检测正常

 但是就是不能使用主机的图形化工具连接

我看到logs中的# Failed to write PID file: Permission denied我以为是权限不够,加了--privileged=true还是不行

后来查看虚拟机端口

 以为是端口不对,因为虚拟机给的网口好像不对应(不过这也是我学艺不精,这个docker和这个网口没关系)

 改了半天,一直得不到正确的结果,还是决定去配置文件看看,我怕是bind后面还有bind我没注释

 还好四级没过的我还看得懂一句protected

一看就知道这种保护不是什么好东西哈哈哈哈哈,直接注释

于是就成功了。

当然如果要用这个模式就百度以下就行了,起码现在启动成功就好了。。。。

 

over