天天看點

使用docker建立redis實作遠端連接配接使用docker建立redis實作遠端連接配接

使用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
           
使用docker建立redis實作遠端連接配接使用docker建立redis實作遠端連接配接

使用Jedis連接配接:

Jedis也連接配接成功!

使用docker建立redis實作遠端連接配接使用docker建立redis實作遠端連接配接

繼續閱讀