使用docker建立redis實作遠端連接配接
發現問題
由于Redis預設隻能進行本地連接配接,是以在我學習完基礎指令之後,使用Java連接配接Redis進行Java代碼層面的學習時,一開始使用本地的docker内的redis,完全是沒有任何問題的,我自己買了伺服器,是以練一下遠端的Redis試一試,沒想到掉到坑裡的,使用Jedis連接配接測試時,一直顯示
Failed connecting to 101.200.240.22:6379
,一直連不上,于是開啟了資料分析和整合之路。
解決問題
我這個我問題卡了我兩天,其實就是因為我的阿裡雲伺服器安全組沒開,但是我第一次去看時,明顯看到是開了的,今天去看卻沒有開放,難受。
安裝步驟:
# 下載下傳指定的redis版本(我下的是目前最後一個版本6.0.9,redis6之後将單線程轉成了多線程,好像是為了提高IO效率)
docker pull redis
# 建立兩個目錄
mkdir /root/docker/redis/conf
mkdir /root/docker/redis/data
# cd進入/root/docker/redis/conf後建立redis.conf
touch redis.conf
# 下載下傳redis.conf
# docker上面的redis是沒有redis.conf,得自己去github找redis下,和版本對應的
# 搞好放在/root/docker/redis/conf下面
# 複制完之後,修改一下redis.conf裡面的資訊
bind 0.0.0.0 # 将ip改成這樣可以讓遠端也可以使用,但也不安全
protected-mode no # 關閉安全模式,不然外網不能連
requirepass 123456 # 設定密碼Java測試時需要,預設是沒有的,一般還是需要設定的複雜一點
# 建立docker容器(建立不了将\去掉)
docker run -p 6379:6379 --name redis-learn \
-v /root/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /root/docker/redis/data:/data -d redis \
--requirepass "123456" --appendonly yes
# 進入redis,docker的redis容器跑起來了,就表示redis的服務也開了,進入之後就不需要在開服務了。
docker exec -it redis-learn /bin/bash
# 連接配接redis
redis-cli -h 101.200.240.22 -p 6379
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLyAjN5ITMykTM0EjMxAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
使用Jedis連接配接:
Jedis也連接配接成功!