docker 安装配置 redis

发布于:2025-08-28 ⋅ 阅读:(15) ⋅ 点赞:(0)

拉取 Redis 官方镜像:

# 拉取最新版 Redis(推荐)
docker pull redis:latest

# 或者拉取指定版本,如 7.2、6.2(生产推荐固定版本)
# docker pull redis:7.2
# docker pull redis:6.2

查看已拉取的镜像:

docker images

创建用于存放 ​​Redis 配置和数据​​的目录:

mkdir -p /usr/local/redis/{conf,data,logs}

cd /usr/local/redis/conf

#创建 Redis 配置文件 redis.conf
touch redis.conf

#查看redis.conf
ls

#编写内容
vim redis.conf

将内容粘贴redis.conf:

# Redis服务器配置 
# 绑定IP地址(表示Redis会监听​所有网络接口,必须设置密码)
bind 0.0.0.0
 
# 服务器端口号  
port 6379 
 
#配置密码,不要可以删掉
requirepass syf133618
 
# 不以守护进程方式运行(Docker 要求)
daemonize no

# 持久化文件目录(挂载到了 /data)
dir /data
 
#默认为no,redis持久化,可以改为yes
appendonly yes
 
#当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
timeout 60
# 服务器系统默认配置参数影响 Redis 的应用
maxclients 10000
tcp-keepalive 300
 
#指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合(分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改)
save 900 1
save 300 10
save 60 10000
 
# 按需求调整 Redis 线程数
tcp-backlog 511
 
# 设置数据库数量,默认设置为16个数据库  
databases 255
 
# 启用 AOF, AOF常规配置
appendonly yes
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
  
# 慢查询阈值
slowlog-log-slower-than 10000
slowlog-max-len 128
 
# 是否记录系统日志,默认为yes  
syslog-enabled yes  
 
#指定日志记录级别,Redis支持四个级别:debug、verbose、notice、warning,默认为verbose
loglevel notice
# 日志输出文件,默认为stdout,也可以指定文件路径  
logfile stdout
# 日志文件
#logfile /logs/redis.log

# 系统内存调优参数   
# 按需求设置
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64

运行 Redis 容器(挂载配置与数据卷):

docker run -d \
  --name my-redis \
  --restart unless-stopped \
  -p 6379:6379 \
  -v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf \
  -v /usr/local/redis/data:/data \
  -v /usr/local/redis/logs:/logs \
  redis:7.2 \
  redis-server /etc/redis/redis.conf

解释:
–restart unless-stopped :设置容器的 ​​自动重启策略
-v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf:将宿主机上的 Redis ​​配置文件​​挂载到容器内的 Redis 配置路径
-v /usr/local/redis/data:/data:将宿主机上的目录挂载为 Redis 的 ​​数据存储目录
-v /usr/local/redis/logs:/logs:将宿主机上的目录挂载为 Redis 的 ​​日志目录​​

检查容器是否运行​:

docker ps

进入容器内部的 redis-cli​:

docker exec -it my-redis redis-cli

密码认证:

AUTH yourStrongPassword123

测试简单命令:

PING
#返回 PONG即表示 Redis 正常工作