docker部署redis資料庫

2021-10-25 10:11:18 字數 3097 閱讀 7473

去docker官網檢視redis的版本

docker redis 官方位址

現在的檢視的時候是這些版本,我一般用最新的版本,雖然有可能踩坑,但是我還是用了。

拉取映象

docker pull redis
這樣不寫版本號的拉取都是最新的redis版本,如果你不想拉取最新的版本,可以這樣寫:

docker pull redis:6.0
版本號根據自己需求選擇。

檢視映象是否拉取成功

docker images
建立資料夾

在根目錄建立

mkdir -p /usr/local/docker/redis/conf
建立完資料夾後,檢視docker、redis、conf資料夾,確保他們的許可權為drwxr-xr-x,如果許可權層級低了,可能會導致後面的啟動出問題。如果不會修改,可以檢視這個文章--------->>>>>linux的檔案許可權控制

新增配置檔案

②新增配置檔案

你可以使用檔案傳輸的方式,將修改好的redis.conf檔案傳輸到 "usr/local/docker/redis/conf"目錄下,如果沒有傳輸工具,也可以在系統中直接新建。

mkdir -m 644 redis.conf
這樣建立檔案的意思是要將該檔案賦值一定的許可權,許可權為-rw-r–r--,許可權層級低了後面啟動會出問題(fatal error, can』t open config file 『/etc/redis/redis.conf』:permission denied)。

vi redis.conf
進入檔案後,按 i 鍵進入編輯模式,然後將redis.conf檔案裡面的內容複製貼上過去,貼上完後,按 esc 鍵推出編輯模式,然後輸入 " :wq "儲存並退出。

建立容器

docker run --privileged=true -p 6379:6379 --name redis \

-v /usr/local/docker/redis/conf/redis.conf:/etc/redis/redis.conf \

-v /usr/local/docker/redis/

data:/

data \

-d redis:latest \ #我用的是最新的版本,所以是latest,你們下的什麼版本用什麼版本

redis-server /etc/redis/redis.conf \

--requirepass 123456

檢查容器是否正確執行

docker ps

可以看到容器id,容器的源映象,啟動命令,建立時間,狀態,埠對映資訊,容器名字

(1)本地連線

進入docker本地連線redis客戶端

docker exec -it redis /bin/bash

redis-

cli-p 6379

127.0.0.1:6379> auth password

ok127.0.0.1:6379>ping

pong

127.0.0.1:6379>

當結果為pong的時候就意味著成功了,你可以根據redis語法進行操作了。

退出的操作:

退出的時候按[ctrl]+d,切記,否則會導致你的容器被關閉,連續按兩次就完全退出了。

(2)redis desktop manager遠端連線

開放防火牆埠

檢視防火牆的狀態

systemctl status firewalld
開啟防火牆:
systemctl start firewalld
關閉防火牆:
systemctl stop firewalld
防火牆是否需要開啟,根據自己的情況而定,如果選擇了開啟防火牆,那麼就要開啟redis資料庫的埠號,否則外部無法訪問。

開啟redis埠號:

firewall-cmd  --zone=public --add-port=6379/tcp -permanent

firewall-cmd --reload #新增開啟的埠號後一定要更新防火牆規則

雲伺服器新增安全組規則

如果你是雲伺服器使用者,那麼就要新增安全組規則,開放對應的ip位址和埠號給外部訪問。我以阿里雲的雲伺服器作為示例。

埠選項裡面有redis選項,實際就是 6379/6379 ,值得一說的是阿里雲的這個「源」 ,這個並不是你計算機的ipv4位址,起初我也用的是計算機ipv4位址,結果訪問不了伺服器,於是我就將源設定為 0.0.0.0/0 ,然後使用計算機連線了伺服器後,在伺服器中使用以下命令查詢:

netstat -ntu

active internet connections (w/o servers)

proto recv-q send-q local address foreign address state

tcp 0 0 172.21.66.183:54794 ***.***.xx.xx:xx established

可以檢視到所有訪問你伺服器的位址了(foreign address),你用自己的計算器檢視你自己的ipv4位址會發現和伺服器上查到的不一樣,至於具體原因我也不太明確,總之安全組配置的時候最好不要將源設定為 0.0.0.0/0 ,設定為從伺服器上查詢到的ip位址就可以使用你的計算機的redis desktop manager 遠端連線redis了。

Docker快速部署Redis

1 查詢docker hub上的redis映象 root wugenqiang redis docker search redis2 pull映象 root wugenqiang docker pull redis 3.2這裡我們拉取官方的映象,標籤為3.2 3 執行映象 命令說明 p 6379 6...

Docker部署Redis集群

centos系統docker部署3主3從redis集群 docker pull redis 6.0.5 alpine密碼為redis2020pass,可自行修改 vi redis cluster.tmplport protected mode no cluster enabled yes clust...

docker 部署redis集群

部署方式這裡沒有採用哨兵模式,而是使用 分片 高可用 負載均衡的模式,架構圖 至少啟動6個容器 建立網絡卡 docker network create redis subnet 192.168.0.0 16 通過指令碼建立6個redis配置 for port in seq 1 6 do mkdir ...