docker-compose配置

version: '3'
services:
  # JDK 17 应用服务 - 用于运行JAR文件
  app:
    image: openjdk:17-jdk
    container_name: app
    working_dir: /app
    volumes:
      - ./volumes/app:/app
    ports:
      - "8820:8820"
    environment:
      - TZ=Asia/Shanghai
    # 启动命令,用于运行JAR文件,请根据实际JAR文件名修改
    #command: java -jar /app/your-application.jar
    networks:
      - app-network

  # MySQL 5.7 数据库
  mysql:
    image: mysql:5.7
    container_name: mysql
    restart: always
    ports:
      - "13306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=test
      - TZ=Asia/Shanghai
    volumes:
      - ./volumes/mysql/data:/var/lib/mysql
      - ./volumes/mysql/conf:/etc/mysql/conf.d
      - ./volumes/mysql/init:/docker-entrypoint-initdb.d

    networks:
      - app-network

  # Elasticsearch 7.14.2
  elasticsearch:
    image: elasticsearch:7.14.2
    container_name: elasticsearch
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - TZ=Asia/Shanghai
    volumes:
      - ./volumes/elasticsearch/data:/usr/share/elasticsearch/data
    #  - ./volumes/elasticsearch/config:/usr/share/elasticsearch/config
    networks:
      - app-network

  # Redis 5
  redis:
    image: redis:5
    container_name: redis
    ports:
      - "6379:6379"
    volumes:
      - ./volumes/redis/data:/data
      - ./volumes/redis/conf/redis.conf:/etc/redis/redis.conf
    command: redis-server /etc/redis/redis.conf
    environment:
      - TZ=Asia/Shanghai
    networks:
      - app-network

  # Nginx 1.21
  nginx:
    image: nginx:1.21
    container_name: nginx
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./volumes/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
      - ./volumes/nginx/conf/conf.d:/etc/nginx/conf.d
      - ./volumes/nginx/html:/usr/share/nginx/html
      - ./volumes/nginx/logs:/var/log/nginx
    environment:
      - TZ=Asia/Shanghai
    networks:
      - app-network

  # Nacos 2.1.1
  nacos:
    image: nacos/nacos-server:v2.1.1
    container_name: nacos
    ports:
      - "8848:8848"
      - "9848:9848"
      - "9849:9849"
    environment:
      - MODE=standalone
      - PREFER_HOST_MODE=hostname
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=mysql
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_DB_NAME=nacos
      - MYSQL_SERVICE_USER=root
      - MYSQL_SERVICE_PASSWORD=root
      - JVM_XMS=512m
      - JVM_XMX=512m
      - TZ=Asia/Shanghai
    volumes:
      - ./volumes/nacos/logs:/home/nacos/logs
      - ./volumes/nacos/conf:/home/nacos/conf
    depends_on:
      - mysql
    networks:
      - app-network

networks:
  app-network:
    driver: bridge

 

posted @ 2025-04-24 22:23  Fyy发大财  阅读(31)  评论(0)    收藏  举报