Docker Compose 部署 Redis 用于开发调试

Docker Compose 部署 Redis 用于开发调试

Redis 是一个开源的高性能键值存储系统,广泛应用于缓存、会话管理、消息队列等场景。本文介绍如何通过 Docker Compose 快速部署 Redis 5.0.12 单节点实例,用于开发和调试。

环境要求

  • Docker 19.03 或更高版本
  • Docker Compose 1.27.0 或更高版本

Docker Compose 配置详解

以下是 docker-compose.yml 文件配置,用于启动一个 Redis 容器,并设置持久化、密码认证及端口映射。

docker-compose.yml

services:
  redis:
    image: redis:5.0.12
    restart: always
    mem_limit: 1G
    volumes: 
      - ./storage:/data
    command: redis-server --appendonly yes --requirepass _admin123
    ports: 
      - "16379:6379"
    networks:
      - custom
    container_name: redis
    hostname: redis

networks:
  custom:
    external: true
    driver: bridge

配置说明

  • 镜像与容器

    • 使用 Redis 5.0.12 官方镜像,适合开发和调试环境使用。
    • container_name 指定容器名称为 redis,便于管理。
    • hostname 设置为 redis,用于容器内主机名解析。
  • 端口映射

    • 16379:6379 将主机的 16379 端口映射到容器的 Redis 默认端口 6379,客户端可以通过 localhost:16379 连接到 Redis 服务。
  • 资源限制

    • mem_limit: 1G 限制容器最大使用 1GB 内存,防止在开发环境中资源耗尽。
  • 挂载卷

    • ./storage:/data 挂载本地目录 ./storage 到容器内的 /data 目录,用于存储 Redis 的持久化数据,确保容器重启后数据不会丢失。
  • 命令

    • redis-server --appendonly yes --requirepass _admin123 启动 Redis 并启用 AOF (Append-Only File) 持久化,同时设置访问密码为 _admin123
  • 网络配置

    • 使用名为 custom 的外部网络,确保 Redis 容器可以与其他服务进行通信。

启动 Redis

确保已经安装了 Docker 和 Docker Compose,并在项目根目录下创建了 docker-compose.yml 文件。

  1. 启动 Redis 服务:

    docker-compose up -d
    
  2. 查看容器状态:

    docker-compose ps
    

    输出示例:

    Name                Command               State          Ports
    -----------------------------------------------------------------------------
    redis     docker-entrypoint.sh redis ...  Up       0.0.0.0:16379->6379/tcp
    
  3. 使用 Redis 客户端连接:

    你可以通过以下命令使用 redis-cli 连接 Redis:

    redis-cli -h localhost -p 16379 -a _admin123
    

    如果连接成功,可以执行一些简单的命令:

    127.0.0.1:16379> PING
    PONG
    
  4. 进入 Redis 容器进行调试:

    docker exec -it redis /bin/bash
    

    在容器内,你可以使用 redis-cli 或其他工具进行进一步的操作。

常见问题

  • 连接失败:请确保防火墙允许 16379 端口的访问,并确认 Redis 容器已成功启动。
  • 持久化问题:请确保本地挂载的 ./storage 目录存在且具有正确的读写权限,否则 Redis 数据可能无法持久化。

总结

通过 Docker Compose,我们可以方便地部署 Redis 实例,并在开发环境中进行调试和测试。本文中的配置允许 Redis 数据持久化,并通过密码进行访问控制。你可以根据实际需求进一步优化或扩展该配置,例如增加主从节点或哨兵模式来构建高可用 Redis 集群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值