原本主要是参考了这两篇文章
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/
选对应的版本就行了
文章来源:https://www.toymoban.com/news/detail-711558.html
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文章来源地址https://www.toymoban.com/news/detail-711558.html
到了这里,关于redis7.2.1在windows中通过docker使用的踩坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!