1. 程式人生 > 實用技巧 >Docker:redis容器使用redis.conf啟動失敗,不報錯

Docker:redis容器使用redis.conf啟動失敗,不報錯

檢視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