services: iotdb-standalone-service: image: registry.cn-qingdao.aliyuncs.com/jisheyun/iotdb:2.0.5-standalone hostname: iotdb-standalone container_name: iotdb-standalone restart: always deploy: resources: limits: cpus: "8" memory: 16g ports: - "${IOTDB_PORT}:6667" environment: - cn_internal_address=iotdb-standalone - cn_internal_port=10710 - cn_consensus_port=10720 - cn_seed_config_node=iotdb-standalone:10710 - dn_rpc_address=iotdb-standalone - dn_internal_address=iotdb-standalone - dn_rpc_port=6667 - dn_internal_port=10730 - dn_mpp_data_exchange_port=10740 - dn_schema_region_consensus_port=10750 - dn_data_region_consensus_port=10760 - dn_seed_config_node=iotdb-standalone:10710 privileged: true volumes: - ./iotdb/conf:/iotdb/conf - ./iotdb/data:/iotdb/data - ./iotdb/logs:/iotdb/logs networks: - pulsar-net redis-service: image: registry.cn-qingdao.aliyuncs.com/jisheyun/redis:8.0.2-alpine3.21 container_name: redis restart: always hostname: redis deploy: resources: limits: cpus: "1.0" memory: 1g ports: - "${REDIS_PORT}:6379" volumes: - ./redis/outdata:/data - ./redis/conf:/etc/redis/conf command: redis-server /etc/redis/conf/redis.conf stdin_open: true tty: true networks: - pulsar-net mysql-service: image: registry.cn-qingdao.aliyuncs.com/jisheyun/mysql:8.4.6 container_name: mysql hostname: mysql restart: always privileged: true user: "1000:1000" # 使用宿主机用户ID ports: - "${MYSQL_PORT}:3306" environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} TZ: Asia/Shanghai volumes: - ./mysql/log:/var/log/mysql - ./mysql/data:/var/lib/mysql - ./mysql/init:/docker-entrypoint-initdb.d command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci - --user=mysql # 确保MySQL以mysql用户运行 - --binlog-expire-logs-seconds=604800 # 设置binlog保留7天(7*24*60*60=604800秒) deploy: resources: limits: cpus: "2.0" memory: 2g stdin_open: true tty: true networks: - pulsar-net admin-api-service: image: registry.cn-qingdao.aliyuncs.com/jisheyun/jishe.iot.admin:2025.1119.1155 container_name: admin-api hostname: admin-api restart: always deploy: resources: limits: cpus: "2.0" memory: 4g ports: - "${ADMIN_API_PORT}:10500" volumes: - ./adminapi/conf:/app/configs - ./adminapi/logs:/app/logs stdin_open: true tty: true depends_on: mysql-service: condition: service_started redis-service: condition: service_started iotdb-standalone-service: condition: service_started zookeeper: condition: service_healthy broker: condition: service_healthy networks: - pulsar-net admin-web-service: image: registry.cn-qingdao.aliyuncs.com/jisheyun/jishe.iot.ui:2025.1030.0949 container_name: admin-web hostname: admin-web restart: always deploy: resources: limits: cpus: "1.0" memory: 200mb ports: - "${ADMIN_WEB_PORT}:8080" stdin_open: true tty: true depends_on: admin-api-service: condition: service_started networks: - pulsar-net networks: pulsar-net: driver: bridge ipam: driver: default config: - subnet: 172.23.0.0/16 gateway: 172.23.0.1