version: '3.8'

services:
  redis:
    image: redis:7.2.4
    container_name: redis-server
    restart: unless-stopped
    ports:
      - "6381:6379"
    volumes:
      - ./data:/data
      - ./conf/redis.conf:/usr/local/etc/redis/redis.conf
    command: redis-server /usr/local/etc/redis/redis.conf
    environment:
      - TZ=Asia/Shanghai
    networks:
      - redis-net

networks:
  redis-net:
    driver: bridge

config:


# Redis配置文件示例
port 6381
requirepass X

# 基本配置
daemonize no
protected-mode yes
bind 127.0.0.1
timeout 0
tcp-keepalive 300

# 持久化配置
save 900 1
save 300 10
save 60 10000
# 指定 Docker Compose 文件格式版本
version: '3.8'

# 定义服务列表
services:
  # 定义 PostgreSQL 服务
  postgres:
    # 使用 PostgreSQL 官方镜像,版本13
    image: postgres:latest
    
    # 指定容器名称(如果不指定,Docker 会自动生成)
    container_name: postgres
    
    # 环境变量配置
    environment:
      # 设置 PostgreSQL 超级用户(默认为 postgres)
      POSTGRES_USER: postgres
      
      # 设置 PostgreSQL 超级用户密码(必须设置)
      POSTGRES_PASSWORD: HongGeng1107
      
      # 设置默认创建的数据库名称(默认为 POSTGRES_USER 的值)
      # POSTGRES_DB: db-default
    
    # 端口映射配置(主机端口:容器端口)
    ports:
      - "5432:5432"  # 将容器内部的5432端口映射到主机的5432端口
    
    # 数据卷配置(持久化数据)
    volumes:
      # 使用命名卷 postgres_data 挂载到容器中的数据库数据目录
      - postgres_data:/var/lib/postgresql/data
      - ./backup:/backup 
    # 容器重启策略
    restart: always  # 总是自动重启容器,无论退出状态如何

# 定义卷列表(用于数据持久化)
volumes:
  # 定义一个名为 postgres_data 的命名卷
  # Docker 会自动管理这个卷,确保数据库数据持久化
  # 即使容器被删除,数据也不会丢失
  postgres_data:


最后修改:2025 年 09 月 22 日
如果觉得我的文章对你有用,请随意赞赏