使用docker-compose部署单机Redis

创建挂载目录

1
2
mkdir -p /app/docker/redis/conf
mkdir -p /app/docker/redis/data

编写docker-compose.yml文件和redis.conf配置文件

docker-compose.yml文件

1
2
cd /app/docker/redis
vim docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
services:
redis:
image: redis:6
container_name: redis
restart: always
ports:
- 6379:6379
environment:
TZ: Asia/Shanghai
volumes:
- ./conf:/etc/redis
- ./data:/data
command:
redis-server /etc/redis/redis.conf

配置文件 redis.conf

详细redis.conf可参考官方文档:
https://redis.io/docs/latest/operate/oss_and_stack/management/config/

1
2
cd /app/docker/redis/conf
vim redis.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Redis 服务器的端口号(默认:6379)
port 6379

# 绑定的 IP 地址,如果设置为 127.0.0.1,则只能本地访问;若设置为 0.0.0.0,则监听所有接口(默认:127.0.0.1)
bind 0.0.0.0

# 设置密码,客户端连接时需要提供密码才能进行操作,如果不设置密码,可以注释掉此行(默认:无)
# requirepass foobared
requirepass 123456

# 设置在客户端闲置一段时间后关闭连接,单位为秒(默认:0,表示禁用)
timeout 0

# 是否以守护进程(daemon)模式运行,默认为 "no",设置为 "yes" 后 Redis 会在后台运行
daemonize no

# 设置日志级别(默认:notice)。可以是 debug、verbose、notice、warning
loglevel notice

# 设置日志文件的路径(默认:空字符串),如果不设置,日志会输出到标准输出
logfile ""

# 设置数据库数量(默认:16),Redis 使用数据库索引从 0 到 15
databases 16

# 是否启用 AOF 持久化,默认为 "no"。如果设置为 "yes",将在每个写操作执行时将其追加到文件中
appendonly yes

# 设置 AOF 持久化的文件路径(默认:appendonly.aof)
appendfilename "appendonly.aof"

# AOF 持久化模式,默认为 "always"。可以是 always、everysec 或 no
# always:每个写操作都立即同步到磁盘
# everysec:每秒钟同步一次到磁盘
# no:完全依赖操作系统的行为,可能会丢失数据,但性能最高
# appendfsync always

save 3600 1
save 300 100
save 60 10000

# 设置 RDB 持久化文件的名称(默认:dump.rdb)
# dbfilename dump.rdb

# 设置是否开启慢查询日志,默认为 "no"
# slowlog-log-slower-than 10000

# 设置慢查询日志的最大长度,默认为 128
# slowlog-max-len 128

# 设置每秒最大处理的写入命令数量,用于保护 Redis 服务器不被超负荷写入(默认:0,表示不限制)
# maxclients 10000

# 设置最大连接客户端数量(默认:10000,0 表示不限制)
# maxmemory <bytes>

# 设置最大使用内存的策略(默认:noeviction)。可以是 volatile-lru、allkeys-lru、volatile-random、allkeys-random、volatile-ttl 或 noeviction
# maxmemory-policy noeviction

# 设置允许最大使用内存的比例(默认:0),设置为 0 表示禁用
# maxmemory-samples 5

# 设置 RDB 持久化文件的保存路径,默认保存在当前目录
# dir ./

启动容器

1
docker compose up -d

运行后查看启动容器的情况

1
2
docker ps
docker compose logs

连接测试

1
2
3
4
docker exec -it redis bash
redis-cli -h 127.0.0.1 -p 6379
auth 123456
ping

如果一切正常,你会看到Redis响应 “PONG” ,表示连接成功。