Docker 安裝 Redis 容器

系列文章目錄


文章目錄

  • 系列文章目錄
  • 前言
  • 1 獲取redis鏡像
  • 2 創建和部署redis容器
  • 3 查看redis是否啟動成功
  • 4 使用Redis客戶端驗證連接
  • 總結


前言

搭建環境:
ubuntu22.04.05
docker
redis: 7.0.10

測試環境:
windows: win11
Redis測試客戶端:Tiny RDM


1 獲取redis鏡像

sudo docker pull redis:7.0.10

這里鏡像拉取超時,請移步娶我另一篇文章:從Docker拉取鏡像一直失敗超時解決辦法

2 創建和部署redis容器

docker run -d -p 6379:6379 --restart=always \
-v redis_config:/etc/redis/config \
-v redis_data:/data \
--name redis redis:7.0.10 \
redis-server /etc/redis/config/redis.conf

關鍵參數功能
1. 容器運行模式與網絡設置
-d:讓容器以守護進程模式在后臺運行,不會占用當前終端。
-p 6379:6379:將宿主機的 6379 端口和容器內部的 6379 端口進行映射,這樣外部就能通過宿主機的 6379 端口訪問 Redis 服務。
2. 容器重啟策略
–restart=always:設置容器的重啟策略為始終重啟。不管是容器自身出現故障停止運行,還是 Docker 服務重啟,亦或是宿主機重啟,容器都會自動重新啟動,確保 Redis 服務的高可用性。
3. 數據卷掛載情況
-v redis_config:/etc/redis/config:把名為 redis_config 的 Docker 命名卷掛載到容器內的 /etc/redis/config 目錄,這個目錄主要用于存放 Redis 的配置文件。
-v redis_data:/data:將名為 redis_data 的 Docker 命名卷掛載到容器內的 /data 目錄,Redis 的數據文件會存儲在這里,實現了數據的持久化存儲。
4. 容器標識與基礎鏡像
–name redis:給容器命名為 redis,方便后續對容器進行管理和操作。
redis:指定使用 Docker Hub 上的官方 Redis 鏡像來創建容器。
5. 容器啟動命令
redis-server /etc/redis/config/redis.conf:這是容器啟動時執行的命令,它會啟動 Redis 服務器,并使用掛載的配置卷中的 redis.conf 配置文件來對 Redis 進行配置。
數據持久化與配置機制

  • 配置文件管理:通過掛載 redis_config 卷,你可以在宿主機上對 Redis 的配置文件進行修改,修改后無需重新創建容器,只需重啟容器就能讓新配置生效。
  • 數據持久化存儲:redis_data 卷會保存 Redis 的所有數據。當容器被刪除后重新創建,只要不刪除這個數據卷,Redis 的數據就不會丟失。

注意要點

  1. 數據卷初始化操作:首次啟動容器時,如果 redis_config 卷中沒有 redis.conf 文件,Redis 會使用默認配置運行。你可以先不掛載配置卷啟動容器,然后把容器內的默認配置文件復制到宿主機,再進行掛載。
  2. 配置文件權限問題:要保證宿主機上掛載的配置文件對容器內的 Redis 進程有可讀權限,否則 Redis 可能無法正常啟動。
  3. 生產環境參數設置:在生產環境中,建議根據實際需求調整 redis.conf 中的參數,例如設置密碼、調整內存策略等。

通過這種方式部署 Redis 容器,能夠實現配置與數據的分離,便于后續的維護和升級。

3 查看redis是否啟動成功

1、查看docker容易redis的狀態

sudo docker ps -a

在這里插入圖片描述
此時狀態是Restarting,是有問題的。

2、查看redis日志

sudo docker logs -f redis

在這里插入圖片描述
3、查看數據卷詳情

sudo docker volume inspect redis_config

在這里插入圖片描述
4、進入此目錄:

cd /var/lib/docker/volumes/redis_config/_data

注意:必須切換為root用戶

5、創建redis.conf文件

touch redis.conf

6、在此文件中,添加以下內容

appendonly yes
port 6379	
requirepass 1234
bind 0.0.0.0	

配置好以后,重啟redis:

docker restart redis

7、再次查看docker的redis容器狀態

docker ps -a

在這里插入圖片描述
此時成功

4 使用Redis客戶端驗證連接

使用的Redis客戶端為Tiny RDM,下載地址為:Tiny RDM官網下載
安裝完成以后打開:

1、創建連接
在這里插入圖片描述
2、點擊測試連接
在這里插入圖片描述
3、點擊確定,如下
在這里插入圖片描述
此時,環境已經搭建完成。


總結

以上,就是在ubuntu上面使用docker部署redis的過程。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/83352.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/83352.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/83352.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學習vue3階段性復習(插槽,Pinia,生命周期)

目錄 插槽(匿名插槽,具名插槽) 插槽概述 匿名插槽 具名插槽 Pinia(統一管理,共享數據) pinia概述 安裝和使用Pinia 1 使用命令下載Pinia 2 再main.js中導入,注冊到vue框架中 3使用pinia 持久化存儲插件 1 第一步&…

嵌入式Linux 期末復習指南(上)

鑒于互聯網上針對本科目相關復習視頻及資料過少, 撰寫本篇期末復習指南用作期末復習知識點掃盲,以應對本科期末考試及格之用。 由于任課老師并透露考試范圍或任何有關試卷的相關信息,本篇指南基于教材、上機實驗報告及作者經驗編寫&#xff0…

VScode ios 模擬器安裝cocoapods

使用 Homebrew 安裝(推薦) 如果你有 Homebrew,直接用它安裝更穩定: brew install cocoapods

Python趣學篇:用Pygame打造絢爛流星雨動畫

名人說:路漫漫其修遠兮,吾將上下而求索。—— 屈原《離騷》 創作者:Code_流蘇(CSDN)(一個喜歡古詩詞和編程的Coder😊) 專欄介紹:《Python星球日記》 目錄 一、項目簡介與效果展示二、技術棧與核…

可視化大屏通用模板Axure原型設計案例

本文將介紹一款基于Axure設計的可視化大屏通用模板,適用于城市、網絡安全、園區、交通、社區、工業、醫療、能源等多個領域。 模板概述 這款Axure可視化大屏通用模板集成了多種數據展示模塊和組件,旨在為用戶提供一個靈活、可定制的數據展示平臺。無論…

20250530-C#知識:萬物之父Object

C#知識:萬物之父Object Object類(即object)是所有類的基類,這里面的方法還是需要好好了解一下。 1、Object類 是頂級父類,其他類默認都是Object類的子類(自定義類也會默認繼承Object類)可以用O…

蘋果應用開發詳細教程(2025最新版)

蘋果應用開發詳細教程(2025最新版) 第一階段:開發環境搭建 硬件準備 Mac電腦(macOS Monterey 12或更高版本)iPhone/iPad(真機調試建議iOS 16+)軟件安裝 # 通過App Store安裝Xcode xcode-select --installXcode 15+(包含Swift 5.9編譯器)安裝CocoaPods(依賴管理工具)…

flutter項目遷移空安全

重中之重 備份好項目文件,甚至連已經加載好的flutter庫也可以備份。環境包升級 2.1 不要直接換成flutter:3.0以上的版本,這樣做既有基本的庫兼容問題,又有空安全下的語法問題(整個項目中需要增加 late、?、!的語法錯誤,一片報錯的…

架構師面試題整理

以下是從提供的HTML代碼中提取的所有class"title-txt"的文本內容,已排除重復項并按順序整理: 緩存專題 實戰解決大規模緩存擊穿導致線上數據庫壓力暴增面試常問的緩存穿透是怎么回事基于DCL機制解決突發性熱點緩存并發重建問題實戰Redis分布…

pytest 中 fixture 與類繼承交互導致的問題

文章目錄 問題分析將屬性綁定到 **類** 上使用 scopefunction 解決方法為什么有兩個不同的對象核心原因:fixture 的執行上下文scopefunction 的情況scopeclass 的情況 為什么 pytest 要這樣做?這是 pytest 的設計局限 總結 本文探討 Pytest 中 fixture 作…

uniapp+ts模擬popup彈出框(下拉框)

效果圖&#xff08;未展開的樣子&#xff09;&#xff1a; 效果圖&#xff08;展開的樣子&#xff09;&#xff1a; 子組件代碼&#xff1a; <!--* Date: 2024-04-26 14:30:00* LastEditTime: 2025-05-29 09:01:06* Description: 技術服務 --> <template><view …

中小型企業大數據平臺全棧搭建:Hive+HDFS+YARN+Hue+ZooKeeper+MySQL+Sqoop+Azkaban 保姆級配置指南

目錄 背景?一、環境規劃與依賴準備?1. 服務器規劃(3節點集群)2. 系統與依賴?3. Hadoop生態組件版本與下載路徑4. 架構圖二、Hadoop(HDFS+YARN)安裝與配置?1. 下載與解壓(所有節點)2. HDFS高可用配置3. YARN資源配置?4. 啟動Hadoop集群三、MySQL安裝與Hive元數據配置…

谷粒商城-分布式微服務項目-高級篇[三]

十五、商城業務-支付 15.1 支付寶支付 15.1.1 進入“螞蟻金服開放平臺” 支付寶開放 平臺地址&#xff1a; 支付寶開放平臺 15.1.2 下載支付寶官方 demo&#xff0c;進行配置和測試 開發者文檔&#xff1a;支付寶開放平臺文檔中心 電腦網站支付文檔&#xff1a;小程序文…

DeepSeek 賦能低空經濟:無人機智能調度的破局之道

目錄 一、引言二、DeepSeek 技術探秘2.1 DeepSeek 技術核心要點2.2 與傳統技術對比優勢 三、低空經濟無人機調度挑戰剖析3.1 飛行控制困境3.2 數據處理難題3.3 系統集成阻礙 四、DeepSeek 應用方案與成果4.1 智能調度與路徑規劃4.2 自主飛行與協同控制4.3 通信與數據鏈優化4.4 …

【Kubernetes】ubuntu20.04通過kubeadm + Docker安裝k8s

Kubernetes v1.24集群安裝配置步驟總結 一、環境準備 &#xff08;一&#xff09;系統要求 運行兼容deb/rpm的Linux操作系統&#xff08;如Ubuntu或CentOS&#xff09;的計算機&#xff0c;1臺或多臺。每臺機器內存2GB以上&#xff0c;內存不足會限制應用運行。控制平面節點…

計算機視覺NeRF

NeRF與3DGS學習 NeRF計算機視覺的問題NeRF定義神經輻射場場景表示基于輻射場的體渲染分層采樣優化神經輻射場 基礎知識初始化SFM基礎矩陣 & 本質矩陣 & 單應矩陣從已經估得的本質矩陣E&#xff0c;恢復出相機的運動R,tSVD 分解 NeRF NeRF資源 計算機視覺的問題 計算…

工業手持PDA終端,有哪些作用?

工業手持PDA終端&#xff08;便攜式數據采集終端&#xff09;&#xff0c;是專為工業場景設計的智能化工具&#xff0c;擁有強大的數據采集和處理能力。通過內置的條碼掃描功能&#xff0c;PDA能夠快速準確地獲取信息&#xff0c;避免了人工錄入可能出現的錯誤&#xff0c;大大…

Spark-TTS: AI語音合成的“變聲大師“

嘿&#xff0c;各位AI愛好者&#xff01;還記得那些機器人般毫無感情的合成語音嗎&#xff1f;或者那些只能完全模仿但無法創造的語音克隆&#xff1f;今天我要介紹的Spark-TTS模型&#xff0c;可能會讓這些問題成為歷史。想象一下&#xff0c;你可以讓AI不僅說出任何文字&…

C++鏈式調用與Builder模式

在C++中實現鏈式調用(如 a.b().c().d())的關鍵是讓每個成員函數返回對象的引用(通常是 *this),從而允許連續調用其他成員函數。這種模式常見于方法鏈(Method Chaining)或流式接口(Fluent Interface)。下面是實現鏈式調用的具體方法和示例: 實現原理 返回對象引用:每…

SQL的查詢優化

1. 查詢優化器 1.1. SQL語句執行需要經歷的環節 解析階段&#xff1a;語法分析和語義檢查&#xff0c;確保語句正確&#xff1b;優化階段&#xff1a;通過優化器生成查詢計劃&#xff1b;執行階段&#xff1a;由執行器根據查詢計劃實際執行操作。 1.2. 查詢優化器 查詢優化器…