原本主要是參考了這兩篇文章 https://blog.csdn.net/weixin_45821811/article/details/116211724 https://cloud.tencent.com/developer/article/1670205 但是由於都是基於linux系統下的,可能 ...
原本主要是參考了這兩篇文章
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