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


🐳 Docker Compose 本地环境搭建:redis


📚 目录结构设计

推荐使用如下结构:

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

# =========================================================
# 用于构建环境: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 同级目录下执行

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

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐