redis安装包不带配置文件,需要自己下载配置文件
一、下载配置文件
方式一:网站链接下载
方式二:去GitHub上的redis开源项目中去获取
github中redis链接 https://github.com/redis/redis
到自己需要redis版本中查询配置文件,就在根目录下
复制redis.conf里面的代码,然后新建一个文本文件,把代码粘贴进去并保存,再把文件的名字改成redis.conf就可以了。
或者直接下载文件
二、配置docker命令,安装redis
1、创建redis配置文件
启动前需要先创建Redis外部挂载的配置文件 ( /mnt/tools/redis/conf/redis.conf )
之所以要先创建 , 是因为Redis本身容器只存在 /etc/redis 目录 , 本身就不创建 redis.conf 文件
当服务器和容器都不存在 redis.conf 文件时, 执行启动命令的时候 docker 会将 redis.conf 作为目录创建 , 这并不是我们想要的结果
## 创建目录
mkdir -p /mnt/tools/redis/conf
## 创建文件
touch /mnt/tools/redis/conf/redis.conf
文件内容从之前下载的redis官方配置文件中读取,或者直接拷贝过来
配置文件修改
序号 | 命令 | 描述 |
---|---|---|
1 | appendonly yes | 启动Redis持久化功能 (默认 no , 所有信息都存储在内存 重启丢失 。 设置为 yes , 将存储在硬盘 重启还在 ) |
2 | protected-mode no | 关闭protected-mode模式,此时外部网络可以直接访问 (docker貌似自动开启了) |
3 | bind 0.0.0.0 | 设置所有IP都可以访问 (docker貌似自动开启了) |
4 | requirepass | 密码 设置密码 |
2、创建redis的docker服务并配置
docker run -d --name='redis6.2.3' \
-e TZ="Asia/Shanghai" \
-p '6379:6379/tcp' \
--restart unless-stopped \
-v '/mnt/tools/redis/data':'/data':'rw' \
-v '/mnt/tools/redis/redis.conf':'/etc/redis/redis.conf':'rw' \
'redis:6.2.3' \
redis-server /etc/redis/redis.conf \
--appendonly yes \
–requirepass rootroot
注意 : 命令中所有 冒号 前面的是主机配置 , 冒号 后面的是mysql容器配置 。
序号 | 命令 | 描述 |
---|---|---|
1 | –name | redis 启动容器的名字 |
2 | -d | 后台运行 |
3 | -p 6379:6379 | 将容器的 6379(后面那个) 端口映射到主机的 6379(前面那个) 端口 |
4 | –restart unless-stopped | 容器重启策略之一unless-stopped在docker重启时重启当前容器。但不包含docker重启时已停止的容器。 |
5 | -v '/mnt/tools/redis/data':'/data':'rw' | 将Redis储存文件夹挂在到主机 |
6 | -v '/mnt/tools/redis/redis.conf':'/etc/redis/redis.conf':'rw' | 将配置文件夹挂在到主机 |
7 | 'redis:6.2.3' | 启动哪个版本的 Redis |
8 | redis-server /etc/redis/redis.conf | 指定配置文件的路径。/etc/redis/redis.conf指的是容器内的文件路径,对应的宿主机的路径要根据挂载卷的路径找到。我的宿主机路径就是/mnt/tool/redis.conf |
9 | \ | shell 命令换行 |
10 | –appendonly yes | 开启redis 持久化 |
11 | –requirepass rootroot | 设置密码为rootroot |