天天看点

使用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实现远程连接

继续阅读