只有累積,沒有奇蹟

2019年2月15日 星期五

[Redis] 使用 Docker 安裝 Redis

前言 
在上一篇分享了如何在 Windows 上安裝 Redis 服務,文章最後也有提到使用微軟的下載連結安裝後 Redis 版本為 3.2 版,與官網提供最新穩定版 5.0.3 版本差異有些懸殊,Windows For Redis 安裝似乎也沒再繼續支援的樣子,如果想要在 Windows 上使用 Redis 3.2 版後的新功能似乎有難度,這篇介紹如何在 Docker 安裝 Redis 服務解決這問題,如有謬誤歡迎高手給予指導。 

Docker 安裝 Redis 
Docker 如何在 Windos 上進行安裝之前已經有在 Docker for Windows 文章分享過,在此篇就不在回顧安裝的過程,以下就針對在 Docker 安裝 Redis 的過程做介紹,指令的詳細介紹可以參考官網 Docker Commands 

下載 image
第一步是在 Docker 透過 pull <image Name> 指令取得 Redis image 檔
  1. docker pull redis
設會到 docker repository 搜尋最新版的 Redis image 檔,如果有找到會進行下載指定版本的 redis image 檔案,未指定版本預設下載最新版

執行 image
接下來,使用 docker run <image> 指令起一個 container 來執行 image 檔
並指定執行 container 的名字為 redis-lab、port 號為 6379、指定背景執行
  1. docker run --name redis-lab -p 6379:6379 -d redis
順利正常執行會顯示 container ID 在畫面上

確認 container
上一步已經正常執行 Redis container,接著來透過 ps 指令列出目前 container 列表
  1. docker ps
安裝過程完整指令與顯示如下
  1. PS C:\> docker pull redis
  2. Using default tag: latest
  3. latest: Pulling from library/redis
  4. Digest: sha256:dd5b84ce536dffdcab79024f4df5485d010affa09e6c399b215e199a0dca38c4
  5. Status: Image is up to date for redis:latest
  6. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  7. PS C:\> docker run --name redis-lab -p 6379:6379 -d redis
  8. e819ea3d7a7bba32add5d5f8b13dc078d43cfc47ee67e430e44552503ae001fb
  9. PS C:\> docker ps
  10. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  11. e819ea3d7a7b redis "docker-entrypoint.s…" 32 minutes ago Up 32 minutes 0.0.0.0:6379->6379/tcp redis-lab
  12. PS C:\>

測試 Redis
之前測試是透過 Redis-cli command tool 進行測試 redis 的動作,在 redis 起來時 container 中內建 redis-cli 工具可以直接測試,如果不透過其他工具可以使用進到 container 使用 tool 測試,步驟如下

進 container 測試
使用 exec <image Name> 對 container 容器下指令,在上面有看到 containerID 為 e819ea3d 下指令時 ID 可以縮寫前兩碼即可
  1. docker exec -it e819 bash
上面有提到要使用 Redis-cli tool 測試,接著輸入下列指令 
  1. redis-cli
系統會回應進入到 127.0.0.1:6379 內,之前有介紹過可以透過 Ping 確認會回傳 PONG 
  1. Ping
  2. // PONG
測試 GET / SET 
透過基本的 SET / GET 指令確認服務是否正常,由於之前已經有介紹過這裡就不在多說明,直接上 Code
  1. 127.0.0.1:6379> set test "hello world"
  2. OK
  3. 127.0.0.1:6379> get test
  4. "hello world"
  5. 127.0.0.1:6379> 
測試過程完整指令與顯示如下 
  1. PS C:\> docker exec -it e819 bash
  2. root@e819ea3d7a7b:/data# redis-cli
  3. 127.0.0.1:6379> ping
  4. PONG
  5.  
  6. 127.0.0.1:6379> set test "hello world"
  7. OK
  8. 127.0.0.1:6379> get test
  9. "hello world"

心得
分別分享了 Redis 在 Windows 與 Docker 如何安裝,自己選擇上在執行還是建議以運行在 Docker 為主,主要是因為版本與管理都方便許多,但如果不需要 Redis 3.2 之後的功能或許也可以參考 Window 安裝達到目的,之後也會陸續介紹實際應用時的問題與解法。

參考
Docker Documentation

Related Posts:

  • [Redis] Redis 管理工具 - Redis Desktop Manager前言  在 如何在 Windows 上安裝 Redis 與 使用 Docker 安裝 Redis 兩篇介紹文中,都是使用 redis-cli 下指令確認 Redis 服務與新增 / 取得設定值動作,難道沒有類似 GUI 介面提供更方便的查詢方式嗎? 今天要介紹的是同事饅頭推薦的 GUI 工具,Redis Desktop Manager 是一套 Redis 查詢介面可視化的軟體,提供開發者… Read More
  • [.NET] StackExchange.Redis.RedisServerException : 'ERR Error compiling script'問題  這幾天在對新專案做 POC,開始對 Redis Server 新增資料做測試,有個 Test Case 在使用 Lua script 新增多筆資料到 Redis Server 時候發生錯誤,錯誤訊息為  "StackExchange.Redis.RedisServerException: 'ERR Error compiling script (new function): user_sc… Read More
  • [.NET] 在 Redis 批次新增 List 資料的方案選擇前言  專案上遇到有個情境是針對 Redis 的 List 做大量新增的動作,但在新增的同時又希望兼顧效能,因此這篇文章是研究在 StackExchange.Redis 提供的 API 中幾個新增 List 的方式,如何使用以及簡單測試多筆資料時消耗的時間比較,若是有不清楚或是錯誤的地方歡迎討論予糾正。 批次新增 List 型別  由於考量到使用情境是類似 Queue 順序性是重要的,因此是透過 Redis … Read More
  • [Redis] 在 Windows 下載與安裝 Redis 前言  最近因專案需求要在公司內部架設 Redis 作為 cache server 使用,Redis 是一個將資料存放在 memory 的database,以 key/value 方式存放相關資料,詳細介紹可以參考官網介紹這裡不在多做說明,這篇簡單分享初期在安裝 Redis 在 Windows 上的步驟與過程,如有謬誤歡迎高手給予指導。  安裝 Redis for Windows Redis 主要是運行在 Li… Read More
  • [Redis] 在 CentOS7 上安裝 Redis前言 之前已經介紹過 Redis 在 Windows 上的安裝與使用,今天要分享的是在 CentOS7 上安裝 Redis 的使用步驟與說明,由於是全新的機器,因此此篇會一起介紹 Docker 的安裝,若有問題歡迎提出一起討論或是給予指導 CentOS 安裝 Docker Docker 支援 CentOS7 之後的版本,因此不用在安裝套件,連線到 Linux 的工具可以參考 跨平台 SSH Client 工具 - Termi… Read More

1 則留言:

Copyright © 2025 m@rcus 學習筆記 | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com