美文网首页
Docker 部署redis

Docker 部署redis

作者: 子丿龙 | 来源:发表于2021-04-18 10:58 被阅读0次

一. 基本安装步骤

1.查询redis镜像

docker search  redis

2.拉取对应版本镜像,这里拉去最新版

docker pull redis
  1. 创建redis本地目录/usr/local/redis(我这是这个,你可以自己找位置)
  2. 在/usr/local/redis下创建data目录
  3. 找一个redis.conf文件(从官网找或者别的地方),放到/usr/local/redis目录下
  4. 更改redis.conf基本配置:
bind 127.0.0.1 #bind改为redis 所在容器的ip,这是docker自动分配的,需要运行起来后才知道,所以等运行起来看一下,然后修改,然后restart容器吧。这个ip是自动分配的,会变。
daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败
  1. 运行镜像
#挂载的文件和目录,自己可以定,我这里定的是这个
docker run -p 6379:6379 --name myredis -v /usr/local/redis/redis.conf:/usr/local/etc/redis/redis.conf  -v /usr/local/redis/data:/data -d redis redis-server  /usr/local/etc/redis/redis.conf --appendonly yes

  1. 查看redis启动 log(myredis 是我启动的redis容器的名称)
docker logs myredis
  1. 登录redis-cli
#两种方式,因为我们改了ip,所以登录时都要指明host
#一种是在宿主机上通过docker登录
docker exec -it myredis redis-cli -h 172.17.0.5
#另一种是已经进入redis容器,然后直接运行redis-cli,
docker exec -it myredis bash  //进入redis容器
redis-cli -h 172.17.0.5  //指定host登录redis-cli

二. 小问题解决

  1. redis容器无法被 其他容器访问(例如容器A)
  • redis.conf文件里 有一个bind参数,默认是bind 127.0.0.0。bind参数意思是限制只能通过本机客户端访问(不是网上说的限制只能那个ip访问,这里bind的只能是本机ip,其他没用),懂了bind的意义后,我们就好办了。
  • 因为现在是redis容器,所以他的本机地址不再是127.0.0.0,所以你启动redis后,通过docker inspect redis,发现报127.0.0.0链接错误。我这里通过 docker ispect redis 发现 redis启动后,给自动分配的ip地址是 172.17.0.5(我这里是这个),所以redis.conf文件里,把bind参数改为bind这个即可。

相关文章

网友评论

      本文标题:Docker 部署redis

      本文链接:https://www.haomeiwen.com/subject/efimlltx.html