| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- # 应用服务
- services:
- # 数据库服务
- mysql:
- container_name: mysql
- image: mysql:8.0
- restart: always
- environment:
- TZ: "Asia/Shanghai"
- MYSQL_ROOT_PASSWORD: "!23Qwe"
- MYSQL_DATABASE: "cmis_gs"
- MYSQL_DEFAULT_AUTH: "mysql_native_password"
- ports:
- - "3306:3306"
- volumes:
- - ./mysql/data:/var/lib/mysql
- - ./mysql/conf:/etc/mysql/conf.d
- - ./mysql/logs:/var/log/mysql
- command: --default-authentication-plugin=mysql_native_password
- networks:
- - app_network
- # redis服务
- redis:
- container_name: redis
- image: redis:6
- restart: always
- environment:
- TZ: "Asia/Shanghai"
- ports:
- - "6379:6379"
- volumes:
- - ./redis/conf/redis.conf:/etc/redis/redis.conf
- - ./redis/data:/data
- - ./redis/logs:/var/log/redis
- command: redis-server /etc/redis/redis.conf
- networks:
- - app_network
-
- # 前端nginx服务
- nginx:
- container_name: nginx
- image: nginx:latest
- restart: always
- environment:
- TZ: "Asia/Shanghai"
- ports:
- - "80:80"
- - "443:443"
- volumes:
- - ./nginx/nginx.conf:/etc/nginx/nginx.conf
- - ../hd-crane-gs/frontend:/usr/share/nginx/html/frontend
- networks:
- - app_network
- # Mosquitto MQTT Broker 服务
- mosquitto:
- container_name: mosquitto
- image: eclipse-mosquitto:latest # 官方稳定镜像
- restart: always
- environment:
- TZ: "Asia/Shanghai"
- ports:
- - "1883:1883" # 原生 MQTT TCP 端口(供后端/设备连接)
- - "9001:9001" # MQTT over WebSocket 端口(供前端 Vue 连接,对应 ws://xxx:8083)
- volumes:
- # 映射配置文件:当前目录/mqtt/mosquitto.conf -> 容器内配置文件路径
- - ./mqtt/mosquitto.conf:/mosquitto/config/mosquitto.conf
- # 映射数据目录:存储保留消息、客户端会话等数据(持久化)
- - ./mqtt/data:/mosquitto/data
- # 映射日志目录:存储 Mosquitto 运行日志
- - ./mqtt/logs:/mosquitto/log
- networks:
- - app_network # 加入现有应用网络,方便后端服务访问(容器内可通过 mosquitto:1883 连接)
- # 网络
- networks:
- app_network:
- driver: bridge
|