Docker 安装 Redis
Dockerfile 介绍
官方镜像:https://hub.docker.com/_/redis/
参考博客:https://zhuanlan.zhihu.com/p/62957397
创建容器
shell
docker run --name redis -p 6379:6379 -d redis:6
docker run --name redis -p 6379:6379 -d redis:6 --requirepass "密码"
docker run --name redis --restart=always -p 6379:6379 -d redis:6 --requirepass 123456
连接、查看 redis 容器
shell
docker exec -it redis redis-cli
docker exec -it redis redis-cli -h 127.0.0.1 -p 6379 -a 123456
docker exec -it “容器ID” redis-cli
docker exec -it “容器ID” redis-cli -h “内网” –a “redis密码”
docker exec -it 34aee08bf67d redis-cli
docker exec -it 34aee08bf67d redis-cli -h 127.0.0.1 -p 6379 -a 123456
Redis (error) NOAUTH Authentication required.解决方法
shell
auth 密码
set hello jack
get hello
ERR unknown command 'JSON.SET'
有时候我们会遇到这个问题,这是由于默认的官方镜像没有加载 JSON 模块导致的。
此时,我们就不能用最原始的镜像了,而需要用这个镜像:https://hub.docker.com/r/redis/redis-stack
shell
docker run -d --name redis-stack --restart=always \
-p 6379:6379 -p 8001:8001 \
-e REDIS_ARGS="--requirepass 1qaz2wsx" \
redis/redis-stack:7.2.0-v1-x86_64
这下就可以使用 JSON.SET 命令了
shell
127.0.0.1:6379> JSON.SET object . '{"foo": "bar", "ans": 42}'
OK
127.0.0.1:6379> JSON.GET object
"{\"foo\":\"bar",\"ans\":42}"
更多说明参考 docker hub redis-stack 镜像说明。