Docker启动Redis教程

发布于 2025年12月14日

一、完整目录结构

redis-docker/
├── docker-compose.yml   # 核心编排文件
└── conf/
    └── redis.conf       # Redis自定义配置文件

二、redis.conf 配置文件(核心配置)

创建 conf/redis.conf,内容如下(包含密码、远程访问、持久化等关键配置):

# 允许所有IP访问(生产环境可改为指定IP)
bind 0.0.0.0
# 关闭保护模式(否则仅本地可访问)
protected-mode no
# 设置Redis密码(必填)
requirepass pptt123456
# 端口(容器内固定6379,外部映射可改)
port 6379
# 开启AOF持久化(避免数据丢失)
appendonly yes
# AOF文件同步策略(兼顾性能和数据安全)
appendfsync everysec
# 关闭RDB持久化(可选,若需保留可注释)
save ""
# 最大内存限制(根据服务器配置调整,示例1GB)
maxmemory 1gb
# 内存淘汰策略(内存满时删除最少使用的键)
maxmemory-policy allkeys-lru
# 日志级别
loglevel notice
# 日志文件(容器内路径)
logfile "/data/redis-server.log"

三、docker-compose.yml 编排文件

创建 docker-compose.yml,内容如下(包含容器编排、目录挂载、端口映射等):

version: '3.8'  # Compose文件版本(兼容Docker 19.03+)

services:
  redis:
    image: redis:latest  # Redis镜像版本(可改为指定版本如redis:7.2)
    container_name: redis-server  # 容器名称(自定义)
    restart: always  # 容器异常退出时自动重启
    ports:
      - "6379:6379"  # 端口映射(主机端口:容器端口,生产可改主机端口如6380)
    volumes:
      # 挂载自定义配置文件到容器内默认配置路径
      - ./conf/redis.conf:/etc/redis/redis.conf
      # 挂载数据目录(持久化Redis数据和日志)
      - redis-data:/data
    command: redis-server /etc/redis/redis.conf  # 启动命令(指定自定义配置文件)
    environment:
      - TZ=Asia/Shanghai  # 设置容器时区(避免时间不一致)
    # 资源限制(可选,根据服务器配置调整)
    deploy:
      resources:
        limits:
          cpus: '0.5'    # 最多使用0.5个CPU核心
          memory: 1.5G   # 最多使用1.5GB内存
    # 网络模式(默认bridge,无需修改)
    networks:
      - redis-network

# 数据卷(持久化Redis数据,避免容器删除后数据丢失)
volumes:
  redis-data:
    driver: local  # 本地数据卷

# 自定义网络(隔离Redis容器网络)
networks:
  redis-network:
    driver: bridge

四、使用说明

1. 启动容器

进入 redis-docker 目录,执行以下命令:

# 后台启动容器(-d 表示后台运行)
docker-compose up -d

2. 验证密码是否生效

# 进入Redis容器
docker exec -it redis-server redis-cli

# 验证密码(输入后返回OK则生效)
127.0.0.1:6379> AUTH pptt123456
OK

# 测试写入数据
127.0.0.1:6379> SET test "hello redis"
OK

# 读取数据
127.0.0.1:6379> GET test
"hello redis"

3. 常用管理命令

# 查看容器状态
docker-compose ps

# 查看Redis日志
docker-compose logs redis

# 停止容器
docker-compose stop

# 重启容器
docker-compose restart

# 停止并删除容器(数据卷保留)
docker-compose down

# 停止并删除容器+数据卷(谨慎使用,数据会丢失)
docker-compose down -v

五、生产环境优化建议

  1. 修改主机映射端口(如 6380:6379),避免默认端口暴露;
  2. redis:latest 改为固定版本(如 redis:7.2),避免镜像更新导致兼容问题;
  3. 限制 cpusmemory 资源,根据服务器配置调整;
  4. 生产环境建议将 bind 0.0.0.0 改为指定业务服务器IP,提升安全性;
  5. 定期备份 /var/lib/docker/volumes/redis-docker_redis-data/ 目录(数据卷实际路径)。


评论