Redis 7.0.2 Docker Compose 部署

1. 创建目录

复制代码
sudo mkdir -p /opt/redis/{conf,data}
cd /opt/redis

目录结构:

复制代码
/opt/redis/
├── docker-compose.yml
├── conf/
│   └── redis.conf
└── data/

2. docker-compose.yml

复制代码
vim docker-compose.yml

services:
  redis:
    image: redis:7.0.2
    container_name: redis702
    restart: unless-stopped

    environment:
      TZ: Asia/Shanghai

    ports:
      - "6379:6379"

    volumes:
      - ./data:/data
      - ./conf/redis.conf:/usr/local/etc/redis/redis.conf:ro

    command:
      - redis-server
      - /usr/local/etc/redis/redis.conf

    healthcheck:
      test:
        [
          "CMD",
          "redis-cli",
          "-a",
          "redis123456",
          "ping"
        ]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 10s

3. conf/redis.conf

复制代码
vim conf/redis.conf

# 网络
bind 0.0.0.0
protected-mode yes
port 6379

# 密码
requirepass redis123456

# RDB 持久化
save 900 1
save 300 10
save 60 10000

# AOF 持久化
appendonly yes
appendfsync everysec

# 数据目录
dir /data

# 内存
maxmemory 1gb
maxmemory-policy allkeys-lru

# 日志
loglevel notice

# 客户端
timeout 0
tcp-keepalive 300

PS: maxmemory 1gb****可根据服务器实际内存调整。

4. 启动 Redis

复制代码
cd /opt/redis
docker compose up -d

查看状态:

复制代码
docker compose ps

查看日志:

复制代码
docker compose logs -f redis

5. 测试 Redis

服务器本机执行:

复制代码
redis-cli -h 127.0.0.1 -p 6379 -a redis123456 ping

正常返回:

复制代码
PONG

PS: 我这边宿主机使用的端口是16379

如果宿主机没有安装 redis-cli,可以直接使用容器:

复制代码
docker exec redis702 redis-cli -a redis123456 ping

6. Redis 连接信息

复制代码
Host:     127.0.0.1
Port:     6379
Password: redis123456

Docker 内其他服务访问:

复制代码
redis:6379

7. 常用命令

复制代码
# 启动
docker compose up -d

# 停止
docker compose down

# 重启
docker compose restart redis

# 查看状态
docker compose ps

# 查看日志
docker compose logs -f redis

# 查看 Redis 信息
docker exec redis702 redis-cli -a redis123456 info

# 测试连接
docker exec redis702 redis-cli -a redis123456 ping

8. 删除 Redis 数据

停止容器:

复制代码
docker compose down

删除持久化数据:

复制代码
rm -rf ./data/*

⚠️ 此操作会永久删除 Redis 持久化数据,请确认后执行。

9. Docker 网络

如果 Redis 与业务服务都通过 Docker Compose 部署,推荐使用 Docker 网络:

复制代码
networks:
  app-network:
    driver: bridge

业务服务直接通过:

复制代码
redis:6379

访问 Redis,无需通过宿主机 6379 端口。

生产环境如果 Redis 仅供内部服务使用,建议不要将 6379 暴露到公网。

相关推荐
爱和冰阔落2 小时前
【Linux】手写日志与固定线程池:任务队列、工作线程和安全退出
linux·运维·c++·redis·安卓
汪碧康2 小时前
xkube-v4.3版本的安全性进行了增强
docker·云原生·容器·kubernetes·xkube
像风一样自由20202 小时前
29.Redis在大模型应用中有哪些用途缓存会话与限流
数据库·人工智能·redis·缓存·大模型·milvus·智能体
EterNity_TiMe_2 小时前
Pascal Editor 本地部署实战:Bun 启动 WebGPU 3D 编辑器,再解决公网访问报错
人工智能·docker·ai·容器·cpolar
AugustSkys6 小时前
从 Docker 到 Containerd:Kubernetes 时代容器运行时完全指南
docker·容器·kubernetes·containerd
weixin_460443566 小时前
考试监控大屏为什么不能直接查数据库?WebSocket、Redis与实时数据聚合架构设计
数据库·redis·在线考试系统·培训考试系统·煤矿培训考试系统·煤矿在线考试系统·宏远培训考试系统
九皇叔叔11 小时前
【第二章】Redis基础入门:Redis是什么、为什么快以及核心特性详解
数据库·redis·缓存
莫陌尛.11 小时前
Docker MySQL 删表卡死、执行超时(MDL锁阻塞)问题复盘与根治方案
mysql·docker·容器
星辰徐哥15 小时前
本地视频预览别只自己看:把Remotion动效项目发给客户远程验收
docker·ai·node.js·html·音视频·react·remotion