Docker Compose 本地环境搭建:redis

Docker Compose 本地环境搭建:redis

  • [🔗 前言:Docker Compose 本地环境搭建相关文章](#🔗 前言:Docker Compose 本地环境搭建相关文章)
  • [🐳 Docker Compose 本地环境搭建:redis](#🐳 Docker Compose 本地环境搭建:redis)
    • [📚 目录结构设计](#📚 目录结构设计)
    • [📄 docker-compose.yml](#📄 docker-compose.yml)
    • [🚀 启动方式](#🚀 启动方式)

🔗 前言:Docker Compose 本地环境搭建相关文章


🐳 Docker Compose 本地环境搭建:redis


📚 目录结构设计

推荐使用如下结构:

bash 复制代码
infra/
├── .env

├── mysql/
│   └── docker-compose.yml

├── redis/
│   └── docker-compose.yml

├── elasticsearch/
│   └── docker-compose.yml

├── skywalking/
│   └── docker-compose.yml

├── nacos/
│   └── docker-compose.yml

📄 docker-compose.yml

bash 复制代码
# =========================================================
# 用于构建环境:Redis
# 宿主机挂载目录、端口、密码、版本号、环境后缀均通过 .env 文件管理
# =========================================================

###########################################################
# 网络配置
###########################################################
networks:
  env_network: # 内部网络标识固定
    driver: bridge
    name: ${NETWORK_NAME}        # Docker 实际网络名动态生成
    ipam:
      config:
        - subnet: ${NETWORK_SUBNET}  # 子网从 .env 获取

###########################################################
# 卷(Volume)配置
###########################################################
volumes:
  # Redis
  redis_data:
    driver: local
    driver_opts:
      type: none
      device: ${HOST_VOLUME}/${ENV}/Redis/data
      o: bind

###########################################################
# 服务定义
###########################################################
services:
  # Redis
  redis:
    image: redis:${REDIS_VERSION}
    container_name: redis_${REDIS_VERSION}_${ENV}
    networks:
      - env_network
    ports:
      - "${REDIS_PORT}:6379"
    environment:
      REDIS_PASSWORD: ${REDIS_PASSWORD}
    command: redis-server --requirepass "${REDIS_PASSWORD}"
    volumes:
      - redis_data:/data
    restart: unless-stopped
    labels:
      env: ${ENV}
      version: ${REDIS_VERSION}
      service: redis_${ENV}

🚀 启动方式

.env 同级目录下执行

bash 复制代码
docker compose --env-file .env -f redis/docker-compose.yml up -d
  • -d 表示 后台运行
  • Compose 会:
    • 自动读取 .env 文件里的变量
    • 根据 docker-compose.yml 配置创建网络、卷和容器
    • 容器名、端口、挂载目录都会根据 .env 替换

相关推荐
JavaPub-rodert7 分钟前
Redis 和 MySQL 如何保证数据一致性?从缓存更新到延迟双删完整讲解
redis·mysql·缓存
ylj_dev1 小时前
从 0 构建 AI Workload Platform(八):受限执行环境与 Kubernetes
docker·容器·kubernetes·分布式系统·ai工作流·容器安全·ai infra
半个落月1 小时前
Next.js 16 笔记应用实战:Redis 数据链路与组件两版拆分详解
前端·redis·next.js
sryyd_021 小时前
Kubernetes 控制器完全指南:从原理到实战
云原生·容器·kubernetes
烬羽1 小时前
Dockerfile 是"做奶茶的配方"?用 todos 全栈项目看懂 Docker 构建与发布
nginx·docker·nestjs
niyesd2 小时前
Kubernetes Pod 控制器管理与实验记录
云原生·容器·kubernetes
家有娇妻张兔兔2 小时前
Redis 报错 “MISCONF Redis is configured to save RDB snapshots“?一文讲透根因与根除方案
数据库·redis·故障排查·misconf
一嘴一个橘子3 小时前
SpringDataRedis 操作 redis
java·redis
池以遇3 小时前
云原生——k8s的pod管理及优化
云原生·容器·kubernetes
lswzw4 小时前
K8s容器网络排查实战:从宿主机穿透命名空间定位端口监听问题
开发语言·docker·容器