解決Redis容器使用redis.conf啓動失敗

​本文實現功能 解決redis容器啓動redis.conf時啓動及失敗 簡單瞭解redis.conf的一些配置 認識docker run命令的參數redis

@TOCdocker

學習redis.conf的配置文件

打開redis.conf後會看到不少的無用信息 vim

在這裏插入圖片描述
咱們使用grep命令來簡單的處理一個下,而後就能夠看到redis.conf的全部配置信息,可是如今輸入的命令是不能夠編輯的

命令cat redis.conf | grep -v "#" | grep -v "^$" 安全

在這裏插入圖片描述
上邊的這個雖然把redis.conf的全部配置信息弄出來了,可是不能修改,咱們能夠把這個內容輸出到另一個文件裏邊,這個時候就能夠在redis下能夠看到一個redis-test.conf的一個文件

執行命令:cat redis.conf | grep -v "#" | grep -v "^$" ->redis-test.conf bash

在這裏插入圖片描述
這個時候就能夠在redis-test.conf裏邊修改一些配置信息
在這裏插入圖片描述
在這裏咱們先了解幾個配置,後邊的配置咔咔會在後續的文件依序寫出

  • daemonize no :redis默認是不做爲守護進程使用的,這也就是說爲何在你不修改配置文件時直接使用redis-server /redis/redis.conf 啓動redis會直接顯示一個服務,你在這個終端就沒有辦法操做其餘,只能新開一個終端來鏈接redis
  • requirepass foobared :redis默認是沒有密碼鏈接的,可是爲了安全密碼仍是須要設置的
  • bind 127.0.0.1:這個配置項通常是直接註釋掉的,這個配置開啓後就只有本機能夠鏈接redis

以上幾個配置信息就是本文所須要知道的三個配置信息網絡

認識docker run命令的參數

docker run命令就是建立一個新的容器學習

如下是一個我建立容器使用的命令docker run -itd --restart="always" --name redis -v /usr/local/docker/data:/data -v /usr/local/docker/redis.conf:/etc/redis.conf --net mynetwork -p 6380:6379 --ip 172.10.0.2 redis:4.0 redis-server /etc/redis.confui

  • i : 打開STDIN,用於控制檯交互
  • t :分配tty設備,該能夠支持終端登陸,默認爲false
  • d:指定容器運行於前臺仍是後臺,默認爲false
  • v:給容器掛載存儲卷,掛載到容器的某個目錄
  • --net:容器使用本身自定義的網絡
  • -p:是端口號
  • --restart:指定容器中止後的重啓策略 no:容器退出時不重啓 on-failure:容器故障退出(返回值非零)時重啓 always:容器退出時老是重啓

解決redis容器啓動redis.conf時啓動及失敗

當咱們認識了redis.conf的幾個參數和docker run的幾個經常使用參數後,咱們來進行解決這個使用redis.conf啓動時直接就失敗問題。rest

而後開始建立容器 有一部分夥伴會發現有一個錯誤WARNING: IPv4 forwarding is disabled. Networking will not work. code

在這裏插入圖片描述
先來解決這個問題 執行命令 vim /usr/lib/sysctl.d/00-system.conf 添加如下代碼 net.ipv4.ip_forward=1 從新啓動network命令 systemctl restart network

在來執行一下就沒有問題了

在這裏插入圖片描述
而後進入到容器就會發現咱們的問題了,建立重啓後直接就退出了
在這裏插入圖片描述
這個時候是否是非常鬱悶,怎麼就直接退出了。這也就是爲何在上文中,咱們提出了redis.conf和docker run命令參數的一些配置信息。

這個時候咱們在回顧一下redis.conf裏邊是否是有一個daemonize no這個參數是是否以守護進程執行,在開發過程當中咱們都會把這個配置開啓 配置爲yes 。

而後在回顧一下docker run命令裏邊有一個參數 -d這個參數也是以守護進程執行。

這下應該就很清楚了,是redis.conf跟docker配置衝突了

打開配置文件把守護進程修改成no

在這裏插入圖片描述
而後刪除剛剛建立的redis容器,在此執行上邊的命令,就能夠看到容器如今已經建立成功,而且處於開啓狀態
在這裏插入圖片描述
這個時候在進入容器 docker exec -it redis /bin/bash裏邊,就能夠看到咱們在鏈接redis-cli時須要輸入密碼,這也就是在redis.conf裏邊配置的。
在這裏插入圖片描述
以上就是咔咔解決Redis容器使用redis.conf啓動失敗的解決方案
相關文章
相關標籤/搜索