Docker安裝Redis

一、啓動docker

systemctl start docker

二、拉取redis鏡像

docker pull redis:5.0.3

注意,若是不註明版本號,則拉取最新版本css

三、建立本地redis掛載目錄

mkdir -p /root/redis/data /root/redis/conf

四、建立redis.conf文件

touch /root/redis/data /root/redis/conf/redis.conf

五、修改redis.conf文件

下載連接:https://www.lanzous.com/i68hlahhtml

該配置文件可自行在網上下載,http://download.redis.io/releases/,主要修改以下幾個配置。java

修改以前:nginx

bind 127.0.0.1
protected-mode yes
#requirepass yourpassword  

修改以後:redis

#bind 127.0.0.1
protected-mode no
requirepass yourpassword  

其中 yourpassword 爲你的密碼。docker

六、建立redis容器

docker run -d --name redis -p 6379:6379 -v /root/redis/conf/redis.conf:/redis.conf -v /root/redis/data:/data redis:5.0.3 redis-server --appendonly yes

-d 後臺運行
-p 端口映射到主機的端口
-v 將主機目錄掛載到容器的目錄
redis-server --appendonly yes : 在容器執行redis-server啓動命令,並打開redis持久化配置bash

七、啓動建立的redis容器

docker start redis

執行如上命令若是報以下錯誤時:微信

Error response from daemon: driver failed programming external connectivity on endpoint redis (086c7fdf5eb7a696753d7414e93202eefd474370658e8c090bca5608c6e29a11):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 6379 -j DNAT --to-destination 172.17.0.2:6379 ! -i docker0: iptables: No chain/target/match by that name.
 (exit status 1))
Error: failed to start containers: redis

解決方法:重啓docker,而後再重啓redis容器app

systemctl restart docker
docker start redis

八、開啓防火牆6379端口

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

九、本地鏈接測試

十、鏈接錯誤

鏈接失敗的話,首先檢查是否能在服務端登錄redistcp

docker exec -it redis redis-cli

進入redis後輸入以下指令:

auth "你的密碼"

若是提示:

(errorERR Client sent AUTH, but no password is set

說明咱們設置的密碼並無生效,那麼須要再執行一下以下指令:

config set requirepass 「你的密碼」

我建立了一個java相關的公衆號,用來記錄本身的學習之路,感興趣的小夥伴能夠關注一下微信公衆號哈:niceyoo

相關文章
相關標籤/搜索