Docker:redis容器使用redis.conf啟動失敗,不報錯
阿新 • • 發佈:2021-01-19
檢視redis.conf配置資訊
- daemonize no :redis預設是不作為守護程序使用的,這也就是說為什麼在你不修改配置檔案時直接使用redis-server /redis/redis.conf 啟動redis會直接顯示一個服務,你在這個終端就沒有辦法操作其他,只能新開一個終端來連線redis
- requirepass foobared :redis預設是沒有密碼連線的,但是為了安全密碼還是需要設定的
- bind 127.0.0.1:這個配置項一般是直接註釋掉的,這個配置開啟後就只有本機可以連線redis
docker run命令的引數
docker run -d --restart="always" --name redis -v /usr/local/docker/data:/data -v /usr/local/docker/conf/:/usr/local/etc/redis/ --network redis-net -p 6380:6379 --ip 172.19.0.2 redis:6.0.8 redis-server /usr/local/etc/redis/redis.conf --appendonly yes
- i : 開啟STDIN,用於控制檯互動
- t :分配tty裝置,該可以支援終端登入,預設為false
- d:指定容器運行於前臺還是後臺,預設為false
- v:給容器掛載儲存卷,掛載到容器的某個目錄
- –net:容器使用自己自定義的網路
- -p:是埠號
- –restart:指定容器停止後的重啟策略 no:容器退出時不重啟 on-failure:容器故障退出(返回值非零)時重啟 always:容器退出時總是重啟
問題點
當我們啟動容器後,沒有報錯,檢視日誌也沒有錯誤顯示,結果容器沒有執行。
回顧一下redis.conf裡邊是不是有一個daemonize no
這個引數是是否以守護程序執行的。
在回顧一下docker run命令裡邊有一個引數-d
這個引數也是以守護程序執行。
這就清楚了,是redis.conf跟docker配置衝突了。
修改 redis.conf 配置檔案把守護程序修改為no。
再次啟動就可以了。
文章轉載至:https://blog.csdn.net/fangkang7/article/details/106251748