1.下载redis镜像
//下载最新版本镜像
docker pull redis:latest
//查询本地镜像
docker images
2.创建文件夹
//建议将配置文件等挂载到宿主机上
//在/usr/local目录下创建redis目录
mkdir reids
//在redis目录下创建conf和data目录
mkdir conf
mkdir data
3.上传配置文件
链接: 官网配置文件,将文件上传至/usr/local/redis/conf目录下,可暂时不修改配置,也可提前修改好。
4.创建redis容器
docker run -d --privileged=true -p 6379:6379 --restart always -v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/redis/data:/data --name redis redis:latest redis-server /etc/redis/redis.conf --appendonly yes
-d: 以守护进程模式(后台)运行容器。
–privileged=true: 给予容器特权模式,允许其拥有宿主机的大多数功能和权限。这对于一些需要访问低级别系统资源的应用可能有必要,但对于普通Redis部署而言通常并不需要。
-p 6379:6379: 将宿主机的6379端口映射到容器内的6379端口,以便外部应用可以通过宿主机访问到Redis服务。
–restart always: 设置容器的重启策略为总是重启(即使非正常退出也自动重启),确保Redis服务始终保持运行状态。
-v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf: 挂载宿主机上的Redis配置文件 /usr/local/redis/conf/redis.conf 到容器内部的 /etc/redis/redis.conf 路径下,使得容器使用自定义配置文件启动。
-v /usr/local/redis/data:/data: 挂载宿主机上的数据目录 /usr/local/redis/data 到容器内的 /data 目录,用于持久化Redis的数据。
–name redis: 容器的名称设置为 “redis”,方便管理和识别。
redis:latest: 使用Docker Hub上的官方Redis镜像的最新版本。
redis-server /etc/redis/redis.conf --appendonly yes: 在容器内执行 redis-server 命令启动Redis服务器,并指定使用挂载的配置文件 /etc/redis/redis.conf,同时启用AOF持久化机制 (–appendonly yes)。
//查看容器
docker ps
5.修改配置文件
这里只提供几个常用配置,配置文件中/daemonize然后回车就可以全文搜索了,N是下一个
1.bind 127.0.0.1 #注释掉,这是限制redis只能本地访问;
2.protected-mode no #默认yes,开启保护模式,限制为本地访问;
3.appendonly yes #redis持久化。
4.设置密码,默认是没有密码的,可以不用设置。将requirepass注释解开加上自己的密码就可以了
4.更改redis端口,默认是6379,可以不用设置
注意:daemonize参数无需设置为yes,与docker创建容器命令冲突会导致容器创建失败或重启失败
//修改配置文件后重启容器
docker restart redis
6.连接测试reids
注意如果是云服务器例如阿里云、腾讯云、华为云等要先配置安全组将端口开放才可以。或者启用了防火墙也要开启端口。