Docker 應用安裝腳本

install_redis705_base_docker.sh

建立 /data/redis7.0.5,只在 redis.conf 缺少時寫入設定,拉取 redis:7.0.5 並取代同名容器。既有設定與資料會重用,新傳入密碼不會更新既有 requirepass。

一鍵命令

curl -fL 'https://www.helper.sh/install_redis705_base_docker.sh' -o './install_redis705_base_docker.sh'

此命令只會下載本站檔案,不會執行。請先檢查儲存的原始碼並核對版本,再決定是否執行。

核對已下載檔案

與本頁面建置時內建的確切位元組比較。檔案僅在目前分頁處理,此工具不上傳、不持久儲存檔案。上限2 MiB。

預期 SHA-256
1dff99da3bc7da24e7e14dace74a716a9be1592b77ce03a42864065022bf391b

內建檔案位元組數: 4562

儲存校驗檔案

將腳本與校驗檔案儲存在同一目錄。Linux 安裝 GNU Coreutils 後可用下方命令僅檢查位元組,不執行腳本;使用此命令時需保留原檔名。

sha256sum --check './install_redis705_base_docker.sh.sha256'

尚未比較。

校驗值與腳本來自同一網站,不是獨立簽章。一致不證明安全、上游相依項目真實可信或適合本機;可變遠端相依項目需單獨審閱。

查看驗證與限制

執行要求

  • Linux 主機
  • Docker 已安裝並運行
  • 需要 root 權限或 sudo
  • 6379 埠可用
  • /data 目錄可寫

適用場景

  • 在已具備 Docker 環境的主機上快速啟動一個 Redis 7.0.5 實例
  • 把 Redis 資料與設定統一保存在 /data/redis7.0.5 下
  • 為快取、佇列或 Session 儲存提供標準化的一鍵安裝入口

腳本亮點

  • 自動建立 /data/redis7.0.5/data 與 conf
  • 拉取 redis:7.0.5 並以帶密碼保護的容器方式運行
  • 如果沒有提供密碼,會自動產生強密碼
  • 預設寫入 appendonly 與基礎持久化設定

推薦流程

  1. 先確認 Docker 已安裝可用,且宿主機的 6379 埠沒有被占用。
  2. 使用 sudo 或 root 執行 helper.sh 提供的一鍵命令。
  3. 等待腳本準備 /data/redis7.0.5、拉取 redis:7.0.5,並建立容器。
  4. 交付應用程式前,以有效密碼核驗 PONG;如果 redis.conf 已存在,輸出或新產生密碼可能與其中 requirepass 不同。請保護設定與終端輸出。

安全提示

  • 不要在沒有網路存取控制的情況下把 Redis 直接暴露到公網。
  • 如果使用了自動產生的密碼,請立刻記錄保存。
  • 如果這是正式實例,替換或重建容器前請先備份 /data/redis7.0.5。

相容範圍與限制

  • 需要使用 systemd 的 Linux、Docker、root、可寫資料目錄與所選空閒主機埠(預設 6379)。redis:7.0.5 是固定的歷史版本,應視為相容範例。
  • 接受 --data-dir、--container-name、--port、--password,也讀取 REDIS_PASSWORD。沒有 dry-run、備份或自動回復。密碼會寫入 redis.conf、列印至輸出,並作為健康檢查程序參數傳遞;腳本不為任意密碼做 Redis 設定語法跳脫。
  • 既有 conf/redis.conf 會保留;新傳入或產生的密碼不會取代其 requirepass。輸出的密碼與只依賴 CLI 結束碼的健康檢查,都不能證明認證成功。

受影響的檔案、服務與資料

  • 預設建立 /data/redis7.0.5/data 與 conf;僅在 redis.conf 缺少時寫入 bind 0.0.0.0、protected-mode yes、appendonly yes、快照規則及 requirepass。
  • Docker 未執行時會啟動它,拉取 redis:7.0.5,強制刪除同名容器後重建。掛載資料與唯讀設定,將所選主機埠映射至容器 6379,未限制主機綁定位址。資料與設定未經備份便會重用。

唯讀核驗

  • 如使用自訂名稱或路徑,請替換範例。檢查 `docker ps --filter name=redis705`、`docker logs --tail 100 redis705` 及 `docker inspect redis705 --format '{{json .Mounts}} {{json .HostConfig.PortBindings}}'`。
  • 以 `sudo grep -nE '^(bind|port|protected-mode|appendonly|dir) ' /data/redis7.0.5/conf/redis.conf` 查看不含密碼的設定項目。
  • 以 `docker exec -it redis705 redis-cli --askpass PING` 在提示中輸入實際有效密碼,並檢查真正的 PONG 回應;另外核驗應用程式存取與保留資料。腳本只判斷命令結束碼,不比較回應內容。

失敗後的下一步

認證或就緒檢查失敗時,保全資料與 redis.conf,確認既有檔案是否保留不同密碼,並私下檢查擁有者、發布埠與容器日誌。健康檢查只警告後仍可能顯示完成。解決設定問題並備份資料後再考慮取代;單純重新傳入密碼參數不會輪換既有設定的密碼。

Redis CLI

先下載、審閱並核對版本,再決定是否執行。雜湊只能識別這一版位元組,不能證明安全。pipe 命令會立即執行遠端內容;上游依賴也可能變動。

相關文章

Redis 顯示新密碼,為何仍然無法認證

重新執行 Redis 7.0.5 安裝腳本前,先核對重用的 redis.conf;不在共享命令暴露密碼,並保全資料、檢查實際回應。

相關專題

Docker 服務:檢查介面與保留狀態

按協定、資料目錄與取代影響區分 HTTP、SQL、快取、FastCGI 或映像內應用。

查看專題