一、安装
ubuntu 安装
(1) 宿主机安装
安装redis
1、执行sudo apt-get update更新软件包2、执行sudo apt-get install -y redis-server 安装
3、执行完成后,查看redis服务的状态,执行ps -ef|grep redis查看 或者 service redis status 命令查看状态为running,说明安装完成后系统自动启动了服务 。
4、执行命令whereis redis 可以查看配置文件所在位置
5.卸载redis 。purge执行同时删除redis配置文件
sudo apt-get purge --auto-remove redis-server
(2)docker安装
1、拉取redis镜像
docker pull redis
docker hub搜索redis镜像 Docker Hub
2、启动
1)使用默认配置直接启动,不持久化
docker run --name redis -d -p 6378:6379 redis
此时直接可远程连接,不需要修改配置文件。
2)使用默认配置启动,持久化
docker run --name some-redis -d -v /var/data:/data -p 6378:6379 redis --save 60 1 --loglevel warning
--save 如果发生了写操作,会每隔60s持久化一次。没有写操作,不会持久化。
3)使用宿主机配置文件启动,持久化
创建目录挂载外部配置
mkdir /data/docker/redis mkdir /data/docker/redis/data
下载配置文件
然后从下面地址拷贝redis.conf
上传至 /data/docker/redis目录
http://download.redis.io/redis-stable/redis.conf修改配置文件
将protected-mode 修改为 no,默认为yes 开启保护模式
将bind 127.0.0.1注释掉 或改为0.0.0.0 允许外部访问
将daemonize 改为no 关闭守护进程方式启动,改为 yes 使用外部配置文件会启动失败
启动命令docker run -d --name RedisDocker6380 -p 6380:6379 -v /var/data:/data -v /etc/redis/redis.conf:/etc/redis/redis.conf redis /usr/local/bin/redis-server /etc/redis/redis.conf --appendonly yes
参数详解
命令 描述 –name redis 启动容器的名字 -d 后台运行 -p 6379:6379 将容器的 6379(后面那个) 端口映射到主机的 6379(前面那个) 端口 –restart unless-stopped 容器重启策略。–restart unless-stopped : 在docker重启时重启当前容器。但不包含docker重启时已停止的容器。 -v /mydata/redis/data:/data 将Redis储存文件夹挂在到主机 -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf 将配置文件夹挂在到主机 -d redis:buster 启动哪个版本的 Redis (本地镜像的版本) redis-server /etc/redis/redis.conf Redis 容器中设置 redis-server 每次启动读取 /etc/redis/redis.conf 这个配置为准 \ shell 命令换行
redis-server /etc/redis/redis.conf
这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动 –appendonly yes
redis启动后数据持久化 如果启动失败查看日志
最后 docker ps 查看是否启动成功,如果没有启动成功用 docker ps -a 拿到CONTAINER ID,然后用 docker logs --tail 300 容器id(CONTAINER ID) 查看错误日志,排查错误
注:启动容器的指令加了
-d
这个参数,和redis.conf
文件中的daemonize yes 都是配置以守护进程启动redis,会冲突,因此如果加了-d那么
必须daemonize
设置为no
,否则容器无法启动进入无密码的redis-cli
(1)通过 Docker 命令进入 Redis 容器内部 docker exec -it redis /bin/bash 或 docker exec -it redis bash (2) 进入 Redis 控制台 redis-cli (3)添加一个变量为 key 为 name , value 为 bella 的内容 > set name bella 查看 key 为 name 的 value 值 > get name (4)或者也可以直接通过Docker Redis 命令进入Redis控制台 (上面两个命令的结合) docker exec -it redis redis-cli
进入有密码的redis-cli
## 进入Redis容器 docker exec -it redis /bin/bash ## 通过密码进入Redis控制台 redis-cli -h 127.0.0.1 -p 6379 -a 123456
(3) 配置redis
1、配置端口
设置redis端口,默认端口是6379,可以根据自己的需要,找到/et/redis/redis.conf文件, 修改port
2、设置密码
配置文件中添加 requirepass 123456
3、远程连接
如果其他电脑连接redis的时候发现连接失败,通过命令netstat -talnp查看,发现6379只允许本地访问了。
127.0.0.1表示只允许本地连接;0.0.0.0表示允许说所有主机连接。
(1)所以要远程连接redis,需要注释掉redis配置中的 #bind 127.0.0.1。这个配置开启后就只有本机可以连接redis。
(2)protected-mode 设置为no 。如果希望其他主机可以在redis不设置密码情况下可远程连接,设置这个选项。
4、守护进程
daemonize , redis默认是不作为守护进程使用的,这也就是说为什么在你不修改配置文件时直接使用redis-server /redis/redis.conf 启动redis会直接显示一个服务,你在这个终端就没有办法操作其他,只能新开一个终端来连接redis。
注意:启动容器的指令加了
-d
这个参数,和redis.conf
文件中的daemonize yes 都是配置以守护进程启动redis,会冲突,因此如果加了-d那么
必须daemonize
设置为no
,否则容器无法启动 。5、如果宿主机启动那么重启redis,命令service redis restart;如果docker启动重启容器。通过命令netstat -talnp查看端口情况如下
ubuntu安装netstat工具: apt-get install net-tools
6、使用redis官方提供的redisinsight 桌面工具连接