docker安裝redis

梦里不分西东發表於2024-03-23

1. 建立本地對映資料夾

mkdir -p /docker/redis/data

(自定義位置,我選擇了上面的資料夾,對映資料夾一會要在redis命令中用到,如果改變請注意)
可選:給當前使用者加/docker資料夾的許可權。sudo chown -R xxxx /docker

2. 下載redis預設配置檔案

前往redis的GitHub地址 redis-github 下載redis.conf檔案

3. 設定密碼

開啟redis.conf檔案,搜尋 requirepass

開啟註釋,設定密碼

4. 讓其他機器可以連線

開啟redis.conf檔案,搜尋 bind

修改為bind 0.0.0.0 ::0

允許所有連線,如果有其他限制,自行修改

繼續搜尋protected-mode,改為no

關閉保護模式

4. 將redis.conf上傳到伺服器

上傳到/docker/redis

5. 拉取redis映象

docker pull redis

6. 啟動docker映象

docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /docker/redis/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes

解釋:來自ChatGPT

這條 docker run 命令用於啟動一個 Docker 容器,裡面執行著一個 Redis 伺服器。讓我們逐個解釋每個引數的意義:

  1. --restart=always: 這個引數設定容器的重啟策略為 always,意味著無論容器退出狀態如何,只要 Docker 守護程序執行,容器就會被自動重啟。

  2. --log-opt max-size=100m: 這個日誌選項設定容器日誌檔案的最大大小為 100MB。達到這個大小後,舊的日誌會被丟棄。

  3. --log-opt max-file=2: 這個日誌選項設定最多保留兩個日誌檔案。結合上一個選項,表示最多保留 200MB 的日誌資訊。

  4. -p 6379:6379: 將容器內的 6379 埠對映到宿主機的 6379 埠上,使得可以從宿主機訪問容器內執行的 Redis 服務。

  5. --name redis: 為容器設定一個名稱為 redis,這樣可以更容易地引用它。

  6. -v /docker/redis/redis.conf:/etc/redis/redis.conf: 將宿主機上的 /docker/redis/redis.conf 檔案掛載到容器內的 /etc/redis/redis.conf。這樣可以讓容器使用外部的配置檔案來配置 Redis 伺服器。

  7. -v /docker/redis/data:/data: 將宿主機上的 /docker/redis/data 目錄掛載到容器內的 /data 目錄。這用於持久化 Redis 資料,確保容器重啟後資料不丟失。

  8. -d: 以守護程序模式執行容器,即在後臺執行。

  9. redis: 指定要執行的 Docker 映象,這裡是 redis 映象。

  10. redis-server /etc/redis/redis.conf: 容器啟動後執行的命令,使用 /etc/redis/redis.conf 配置檔案啟動 Redis 伺服器。

  11. --appendonly yes: 啟用 Redis 的 AOF (Append Only File) 持久化模式,即所有寫操作都會被記錄到 AOF 檔案,這樣在重啟時可以透過 AOF 檔案恢復資料。

透過這些引數,Docker 會啟動一個配置好的 Redis 伺服器容器,它將自動重啟、具有日誌管理、埠對映、使用外部配置和資料目錄,並以 AOF 模式執行。

相關文章