安装环境:
苹果电脑,m1, apple silican, 系统版本13.5.2,32G内存
docker版本:4.15.0
redis版本:6.2,arm 64位 (https://hub.docker.com/)
redis.conf
下载地址:https://redis.io/docs/management/config/
修改 requirepass 你的密码
修改 protected-mode 为 no
修改 bind 为 0.0.0.0
docker操作:
>>docker pull redis:6.2
>>docker run -p 6379:6379 --name redis7 --privileged=true -v docker run -p 6379:6379 --name redis6 --privileged=true -v /Users/jelly/Documents/mydocker/redis/redis.conf:/etc/redis/redis.conf -v /Users/jelly/Documents/mydocker/redis/data:/data -d redis:6.2 redis-server /etc/redis/redis.conf
其中6379A:6379B,6379B为docker内部redis默认端口(redis.conf里写的端口), 6379A为宿主机端口,这样写你应该会明白了吧,后面的 -v 参数同理。
异常处理:
Jedis Unexpected end of stream
可能是redis版本和redis.conf版本不一致,也可能是m1 arm 64上docker redis本身问题,我试了5.0, 6.0, 7.0都不行,只有6.2正常,比较郁闷。