version: '3'
services:
  k8sshop741:
    image: k8sshopimage741
    build:
      context: .
      dockerfile: ./k8sshop/Dockerfile
    ports:
      - 471:80
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Production"
    networks: 
      - ocelot-gateway-demo_dev
  influxdb:
    image: influxdb:1.8
    container_name: influxdb
    environment:
      - INFLUXDB_DB=jmeter
      - INFLUXDB_USER=jmeter
      - INFLUXDB_USER_PASSWORD=jmeter
      - INFLUXDB_ADMIN_ENABLED=true
      - INFLUXDB_ADMIN_USER=admin
      - INFLUXDB_ADMIN_PASSWORD=123456
    volumes:
      - ./influxdb/influxdb_data:/var/lib/influxdb
      - ./influxdb/influxdb:/root/influxdb/data
      - ./influxdb/influxdb.conf:/root/influxdb/influxdb.conf
      #- ./influxdb/etc/localtime:/etc/localtime
    ports:
      - "8085:8086"
      - 8083:8083
      - 2003:2003
    restart: always  
    networks:
      - ocelot-gateway-demo_dev

  grafana:
    image: grafana/grafana:8.1.5
    container_name: grafana
    ports:
      - "3000:3000"
    links:
      - influxdb
    depends_on:
      - influxdb
    volumes:
      #- ./grafana/grafana_data:/var/lib/grafana
      #- ./grafana/data:/var/lib/grafana:rw
      #- ./grafana/GRAFANA_plugins:/var/lib/grafana/plugins:rw
      - /etc/localtime:/etc/localtime #同步宿主机和容器时间
      #- ./grafana/grafana.ini:/etc/grafana/grafana.ini
      - ./grafana:/var/lib/grafana
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=123456
    networks:
      - ocelot-gateway-demo_dev
    
  chronograf:
    container_name: chronograf
    image: chronograf
    restart: always
    ports:
      - "8888:8888"
    volumes:
      - /home/user/chronograf:/var/lib/chronograf
    networks:
      - ocelot-gateway-demo_dev
 
  telegraf:
    container_name: telegraf
    image: telegraf
    restart: always
    volumes:
      - /home/user/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf  #:ro
    networks:
      - ocelot-gateway-demo_dev
    links:
      - influxdb
       
  kapacitor:
    container_name: kapacitor
    image: kapacitor
    restart: always
    ports:
      - "9092:9092"
    volumes:
      - /home/user/kapacitor/kapacitor.conf:/etc/kapacitor/kapacitor.conf #:ro
    environment:
      - INFLUXDB_URL=http://influxdb:8086
    networks:
      - ocelot-gateway-demo_dev
      
  qlapinginx100:
    container_name: qlapiconnginx100
    image: nginx
    ports: #避免出现端口映射错误,建议采用字符串格式
      - "100:80"
      - 1443:443
    volumes: 
      - /home/website/huanbao/nginx/html:/usr/share/nginx/html
      #- /home/website/huanbao/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  #手动拷贝
      - /home/website/huanbao/nginx/www:/var/www
      - /home/website/huanbao/nginx/etc/cert:/etc/nginx/cert
      - /home/website/huanbao/nginx/logs:/var/log/nginx
      - /home/website/huanbao/nginx/conf.d:/etc/nginx/conf.d
      - /home/website/huanbao/nginx/file:/home/website/huanbao/nginx/file
    restart: always
    networks: 
      - ocelot-gateway-demo_dev
  qlhuanbaoapi93:
    image: qlhuanbaoapiimage93
    container_name: qlhuanbaocontaine93
    hostname: qlhuanbao93host
    volumes:
      #- /home/website/huanbao/nginx/file/wwwroot:/app/wwwroot
      - ./Ropin.Inspection.Api/appsettings.json:/app/appsettings.json
      - ./Ropin.Inspection.Api/appsettings.Development.json:/app/appsettings.Development.json
      - ./Ropin.Inspection.Api/appsettings.Staging.json:/app/appsettings.Staging.json
      - ./Ropin.Inspection.Api/appsettings.Production.json:/app/appsettings.Production.json
      #- type: bind
      #  source: /home/website/huanbao/nginx/file/wwwroot/
      #  target: /app/wwwroot
      #  bind:
      #    propagation: shared
    build:
      context: .
      dockerfile: ./Ropin.Inspection.Api/Dockerfile
    ports:
      - 93:80
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Development" #Production
      #- mongo
  qlhuanbaoapi193:
    image: qlhuanbaoapiimage193
    container_name: qlhuanbaocontaine193
    hostname: qlhuanbao193host
    volumes:
      - /home/website/huanbao/nginx/file/wwwroot:/app/wwwroot
      - ./Ropin.Inspection.Api/appsettings.json:/app/appsettings.json  #项目配置文件
      #- type: bind
      #  source: /home/website/huanbao/nginx/file/wwwroot/
      #  target: /app/wwwroot
      #  bind:
      #    propagation: shared
    build:
      context: .
      dockerfile: ./Ropin.Inspection.Api/Dockerfile
    ports:
      - 193:80
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Production"
    networks: 
      - ocelot-gateway-demo_dev
    external_links:
      - redis
      - db
      #- mongo
  qlhuanbaoapi293:
    image: qlhuanbaoapiimage293
    container_name: qlhuanbaocontaine293
    hostname: qlhuanbao293host
    volumes:
      - /home/website/huanbao/nginx/file/wwwroot:/app/wwwroot
      - ./Ropin.Inspection.Api/appsettings.json:/app/appsettings.json
      #- type: bind
      #  source: /home/website/huanbao/nginx/file/wwwroot/
      #  target: /app/wwwroot
      #  bind:
      #    propagation: shared
    build:
      context: .
      dockerfile: ./Ropin.Inspection.Api/Dockerfile
    ports:
      - 293:80
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Production"
    networks: 
      - ocelot-gateway-demo_dev
    external_links:
      - redis
      - db
      #- mongo
  qlhuanbaoscadaapi94:
    image: qlhuanbaoscadaapiimage94
    container_name: qlhuanbaoscadacontaine94
    hostname: qlhuanbaoscada94host
    build:
      context: .
      dockerfile: ./Ropin.Environmentally.WebScada/Dockerfile
    ports:
      - 94:80
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Production"
      PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    volumes:
      - ./Ropin.Environmentally.WebScada/appsettings.json:/app/appsettings.json
      #- ./Ropin.Environmentally.WebScada/app:/app
    networks: 
      - ocelot-gateway-demo_dev
    #external_links:
    #  - redis
    #  - db
    #  - mongo
  qlhuanbaoscadaapi394:
    image: qlhuanbaoscadaapiimage394
    container_name: qlhuanbaoscadacontaine394
    hostname: qlhuanbaoscada394host
    build:
      context: .
      dockerfile: ./Ropin.Environmentally.WebScada/Dockerfile
    ports:
      - 94:80
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Production"
      PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    networks: 
      - ocelot-gateway-demo_dev
    external_links:
      - redis
      - db
      - mongo
  qlhuanbaomqttapi95:
    image: qlhuanbaomqttapiimage95
    container_name: qlhuanbaomqttapi95
    hostname: qlhuanbaomqttapi95host
    build:
      context: .
      dockerfile: ./Ropin.Environmentally.MqttService/Dockerfile
    ports:
      - 95:80
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Production"
      PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    networks: 
      - ocelot-gateway-demo_dev
    external_links:
      - redis
      - db
  qlhuanbaomqttapi96:
    image: qlhuanbaomqttapiimage96
    container_name: qlhuanbaomqttapi96
    hostname: qlhuanbaomqttapi96host
    build:
      context: .
      dockerfile: ./Ropin.Environmentally.MqttService/Dockerfile
    ports:
      - 396:80
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Production"
      PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    networks: 
      - ocelot-gateway-demo_dev
    external_links:
      - redis
      - db
  iotmqttapi496:
    image: iotmqttapiimage496
    container_name: iotmqttapihost496
    hostname: iotmqttapi496host
    build:
      context: .
      dockerfile: ./Ropin.IOT.MqttService/Dockerfile
    ports:
      - 496:80
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Production"
      PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    networks: 
      - ocelot-gateway-demo_dev
    external_links:
      - redis
      - db
  qlhuanbaoloraapi97:
    image: qlhuanbaoloraapiimage97
    container_name: qlhuanbaoloraapicontaine97
    hostname: qlhuanbaoloraapi97host
    build:
      context: .
      dockerfile: ./Ropin.Environmentally.LoRaService/Dockerfile
    ports:
      - 97:80
      - 22:22
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Production"
      PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    networks: 
      - ocelot-gateway-demo_dev
    external_links:
      - redis
      - db
      - mongo
  qlhuanbaoledgesvc99:
    image: qlhuanbaoledgesvcimage99
    container_name: qlhuanbaoledgesvccontaine99
    hostname: qlhuanbaoledgesvc99host
    build:
      context: .
      dockerfile: ./Ropin.Environmentally.LedgeService1/Dockerfile
    ports:
      - 99:80
    environment:
      TZ: "Asia/Shanghai"
      #ASPNETCORE_ENVIRONMENT: "Production"
      PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    volumes:
      - ./Ropin.Environmentally.LedgeService1/appsettings.json:/app/appsettings.json
    networks: 
      - ocelot-gateway-demo_dev
    external_links:
      - redis1
      - db
  qlhuanbaodcssvc101:
    image: qlhuanbaodcssvcimage101
    container_name: qlhuanbaodcscontaine101
    hostname: qlhuanbaodcssvc101host
    build:
      context: .
      dockerfile: ./Ropin.Environmentally.DcsService/Dockerfile
    ports:
      - 101:80
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Production"
      PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    volumes:
      - ./Ropin.Environmentally.DcsService/appsettings.json:/app/appsettings.json
    networks: 
      - ocelot-gateway-demo_dev
    external_links:
      - redis1
      - db
  qlhuanbaovideo103:
    image: qlhuanbaovideoimage103
    container_name: qlhuanbaovideocontaine103
    hostname: qlhuanbaovideo103host
    build:
      context: .
      dockerfile: ./Ropin.Environmentally.VideoService/Dockerfile
    ports:
      - 103:80
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Production"
      PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    volumes:
      - ./Ropin.Environmentally.VideoService/appsettings.json:/app/appsettings.json
    networks: 
      - ocelot-gateway-demo_dev
    external_links:
      - redis1
      - db
  qlhuanbaoalarm107:
    image: qlhuanbaoalarmimage107
    container_name: qlhuanbaoalarmcontaine107
    hostname: qlhuanbaoalarm107host
    build:
      context: .
      dockerfile: ./Ropin.Environmentally.AlarmService/Dockerfile
    ports:
      - 107:80
    environment:
      TZ: "Asia/Shanghai"
      ASPNETCORE_ENVIRONMENT: "Production"
      PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    volumes:
      - ./Ropin.Environmentally.AlarmService/appsettings.json:/app/appsettings.json
    networks: 
      - ocelot-gateway-demo_dev
    external_links:
      - redis1
      - db
  qldigitalenvironmentmanagement: #vue前端服务 
    container_name: qldigitalenvironmentmanagementcontainer
    image: qldigitalenvironmentmanagementnginx #nginx镜像
    build:
      context: .
      dockerfile: ./DigitalEnvironmentManagement/dist/Dockerfile
    ports: #避免出现端口映射错误,建议采用字符串格式
      - "8076:80"
    volumes:
      - .:/app
    command: ["npm", "run", "serve"]
    #volumes: 
      #挂载dist静态资源到容器中
      #- /data/vue/dist/:/usr/share/nginx/html/
      #挂载nginx配置文件到容器中,替换nginx容器中的默认配置
      #- /data/vue/default.conf:/etc/nginx/conf.d/default.conf
    restart: always
    networks: 
      - ocelot-gateway-demo_dev
      
  qlhuanbaomgt: 
    container_name: qlhuanbaoconmgt
    image: nginx:1.9.0
    ports: #避免出现端口映射错误,建议采用字符串格式  #docker cp nginx83:/etc/nginx/nginx.conf $PWD/DigitalEnvironmentManagement/nginx/
      - "8077:80"
    volumes: 
      #挂载dist静态资源到容器中
      - /home/website/huanbao/DigitalEnvironmentManagement/nginx/html/dist/:/usr/share/nginx/html/
      #- /home/website/huanbao/DigitalEnvironmentManagement/dist:/usr/share/nginx/html/
      #挂载nginx配置文件到容器中,替换nginx容器中的默认配置
      - /home/website/huanbao/DigitalEnvironmentManagement/nginx/www:/var/www
      - /home/website/huanbao/DigitalEnvironmentManagement/nginx/etc/cert:/etc/nginx/cert
      - /home/website/huanbao/DigitalEnvironmentManagement/nginx/logs:/var/log/nginx
      - /home/website/huanbao/DigitalEnvironmentManagement/nginx/conf.d:/etc/nginx/conf.d
      - /home/website/huanbao/DigitalEnvironmentManagement/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
      #- /home/website/huanbao/DigitalEnvironmentManagement/nginx/conf/nginx.conf:/etc/nginx/nginx.conf #不能挂载,
    restart: always
    networks: 
      - ocelot-gateway-demo_dev
  nginx102:
    container_name: nginx102
    image: nginx
    ports:
      - "1022:80"
    restart: always
    volumes:
      #- ./nginx/proxy.conf:/etc/nginx/conf.d/default.conf
      #- /home/website/huanbao/DigitalEnvironmentManagement/nginx102/conf/nginx.conf:/etc/nginx/nginx.conf
      - /home/website/huanbao/DigitalEnvironmentManagement/nginx102/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf:ro
      #- /home/website/huanbao/DigitalEnvironmentManagement/nginx102/conf/conf.d:/etc/nginx/conf.d
      - /home/website/huanbao/DigitalEnvironmentManagement/nginx102/html:/usr/share/nginx/html
      - /home/website/huanbao/DigitalEnvironmentManagement/nginx102/logs:/var/log/nginx
    environment:
      TZ: Asia/Shanghai
    networks: 
      - ocelot-gateway-demo_dev
      

      
networks:  
 ocelot-gateway-demo_dev:
   external: true  #注意true和:之间有个空格的