目錄
- Redis簡單介紹
- 查看可用的 Redis 版本
- 拉取最新版的Redis鏡像
- 創建并運行一個Redis容器和設置鏈接密碼
- 驗證Redis是否安裝成功
- 參考文章:
Redis簡單介紹
Redis全稱是Remote DIctionary Service,即遠程字典服務。Redis 是一個使用C語言編寫的、開源的(遵守 BSD 協議)、高性能的、支持網絡、可基于內存亦可持久化的日志型、Key-Value的NoSQL數據庫。
查看可用的 Redis 版本
訪問DokcerHub中的Redis鏡像庫地址:https://hub.docker.com/_/redis?tab=tags
可以通過 Sort by 查看其他版本的 Redis,默認是最新版本(redis:latest):https://hub.docker.com/_/redis/tags?page=1

此外,我們還可以用 docker search redis 命令來查看可用版本:
docker search redis
輸出如下:

拉取最新版的Redis鏡像
這里我們拉取官方的最新版本的鏡像:
docker pull redis:latest

查看本地安裝的鏡像
使用以下命令來查看redis鏡像是否成功拉取到本地:
docker images

設置Docker中的Redis容器運行外網連接
首先Docker運行的每個容器都是隔離的,Redis默認不允許外部連接,因此想要部署在Docker容器內的應用連接上Redis,需要修改Redis默認配置,這里我們以配置文件運行redis即可。
1、下載redis.conf文件
首先創建掛載目錄:
sudo mkdir redis
redis.conf是Redis的核心配置文件,默認docker運行的redis是不存在配置文件的,這里可以先從官網下載:
wget http://download.redis.io/redis-stable/redis.conf

2、設置redis.conf文件權限
sudo chown -R $USER redis.conf
-R或-recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理
chown [-R] [用戶名稱:組名稱] [文件或目錄]
3、修改默認配置信息
vi redis.conf i 開始編輯 編輯完成后esc+:wq保存修改
- bind 127.0.0.1 -::1 #這行要注釋掉,解除本地連接限制
- protected-mode no #默認yes,如果設置為yes,則只允許在本機的回環連接,其他機器無法連接。
- daemonize no #默認no 為不守護進程模式,docker部署不需要改為yes,docker run -d本身就是后臺啟動,不然會沖突
- requirepass 123456 #設置密碼
- appendonly yes #持久化
創建并運行一個Redis容器和設置鏈接密碼
Redis鏡像拉取成功以后,我們可以使用以下命令來運行創建一個名為redis-test的redis容器:
docker run --name redis-test -p 6379:6379 -v /docker-data/redis/redis.conf:/etc/redis/redis.conf -v /docker-data/redis:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456
參數說明:
- –name redis-test:容器名稱。
- -p 6379:6379:映射容器服務的 6379 端口到宿主機的 6379 端口。外部可以直接通過宿主機ip:6379 訪問到 Redis 的服務。
- -v /docker-data/redis/redis.conf:/etc/redis/redis.conf : 將主機中配置文件掛載到容器中
- -v /docker-data/redis:/data : 將主機中data掛載到容器的/redis
- -d redis redis-server /etc/redis/redis.conf:表示后臺啟動redis,以配置文件啟動redis,加載容器內的conf文件。
- redis-server /etc/redis/redis.conf : 容器中以配置文件方式啟動redis
- redis-server –appendonly yes : 在容器執行redis-server啟動命令,并打開redis持久化配置
- redis-server –requirepass 123456 :redis連接密碼設置

驗證Redis是否安裝成功
最后我們可以通過 docker ps 命令查看容器的運行信息:
docker ps

接著我們通過 redis-cli 連接測試使用 redis 服務。
docker exec -it redis-test /bin/bash redis-cli # 密碼登錄 auth 123456

Another Redis Desktop Manager介紹:
Redis DeskTop Manager自從進入了0.9.9版本就開始付費使用或者貢獻代碼獲得免費使用期限。這時候,Another Redis DeskTop Manager作為一款基于nodejs開發的免費的Redis可視化管理工具,可以運行在Windows、Linux、Mac平臺,而且是開源免費應用,就很推薦使用了。
gitee源碼地址:https://gitee.com/qishibo/AnotherRedisDesktopManager
window .exe安裝包下載地址:https://gitee.com/qishibo/AnotherRedisDesktopManager/releases
Redis Client On Error: Error: connect ETIMEDOUT xxx.xxx.xxx:6379 Config right?
由于上面我已經對redis.conf配置文件進行了允許外網連接配置的修改,報這個錯誤我猜測是因為服務器沒有配置6379的開發端口,所以需要到服務器后端管理中添加6379端口配置。

Another Redis Desktop Manager測試連接:


參考文章:
Docker安裝Redis并配置文件啟動






