Docker 安装 Redis

Redis 容器的持久化、密码、配置挂载与常见运维。

Beginner
Key Points默认无密码且只监听容器内网;要对外必须设密码 + 绑 127.0.0.1,持久化选 RDB 或 AOF。

启动

Bash
docker run -d --name redis \
  -p 127.0.0.1:6379:6379 \
  -v redis-data:/data \
  redis:7-alpine \
  redis-server --appendonly yes --requirepass s3cret

连进去

Bash
docker exec -it redis redis-cli
# 有密码时
docker exec -it redis redis-cli -a s3cret ping

持久化

ModeHowTrade-off
RDBPeriodic snapshotFast restart, may lose last minutes
AOFAppend every writeSafer, larger files, slower restart
BothRDB + AOFRecommended
Bash
redis-server --appendonly yes \
             --save 900 1 --save 300 10 --save 60 10000

挂配置

Bash
docker run -d --name redis -p 127.0.0.1:6379:6379 \
  -v "$PWD/redis.conf:/usr/local/etc/redis/redis.conf:ro" \
  -v redis-data:/data \
  redis:7-alpine redis-server /usr/local/etc/redis/redis.conf
A passwordless Redis exposed to the internet gets a mining cron job within hours. At minimum use requirepass and bind to localhost — better, do not publish the port at all.

常用运维

Bash
docker exec redis redis-cli -a s3cret info memory
docker exec redis redis-cli -a s3cret --scan --pattern 'user:*' | head
docker exec redis redis-cli -a s3cret bgsave

Friends & Partners