下载镜像
1.首先下载最新版本的redis镜像:docker pull redis
2.doker images
可以查看下载好的镜像
到这里开始有两种启动方式:
一种是以效率为先的快速启动方式
另一种则是设置配置文件的方式,配置文件可以让我们设置redis持久化(重启redis数据也不会丢失或丢失小部分)。
快速启动(第一种方法)
docker run -itd --name redis -p 6379:6379 redis
一句即可启动redis,但是没有设置配置文件,只是快速启动使用而已
下面是用配置的方式启动
配置(第二种方法)
首先我们创建好存放redis配置文件和数据的目录结构:/docker/redis/{conf,data}
然后配置文件可以从官网拷贝下来,也可以用这个指令下载(修改最后的存放目录,粘贴到linux即可):
wget https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf -O conf/redis.conf
下载完毕,可以打开修改以下配置
- bind 127.0.0.1
注释掉这部分,这是限制redis只能本地访问 - protected-mode no
默认是yes,开启保护模式,限制为本地访问 - requirepass 123456
配置redis连接密码,默认是注释的 - daemonize no
默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败,windows貌似默认不支持这个配置项 - dir ./
更改本地redis数据库存放文件夹(可选) - appendonly yes
redis持久化(开启了这个,redis就不会每次重启时自动清空了)
启动(第二种方法)
复制下面这行到linux执行即可
docker run -itd -p 6379:6379 --name redis -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data redis redis-server /etc/redis/redis.conf
记得更改挂载文件的位置,还可以通过在run命令后面加上appendonly yes 开启redis持久化(如果没写配置文件的话)。
测试
输入以下指令查看容器日志是否启动成功
docker logs --tail 200 -f redis
或输入以下指令进入容器
docker exec -it redis /bin/bash
输入redis-cli
连接redis,如果是连接其他服务器的redis,则需要加参数
redis-cli -h xx.xxx.xx.xxx -p 6379
随便set,get一下试试,有结果则说明没问题。
在线设置密码
连接了redis客户端后,还能通过命令设置密码,这种方式设置密码不需要重启redis
config set requirepass 123456
获取密码
config get requirepass
设置了密码后登陆不输入密码也能登录成功,就是没有任何操作权限(读写)
带密码登录:
redis-cli -h xx.xxx.xx.xxx -p 6379 -a 123456
或不带密码登录,但是登陆完了后再验证密码
redis-cli
auth 123456