version: '3.8' services: # Elasticsearch elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0 container_name: fund-elasticsearch environment: - discovery.type=single-node - xpack.security.enabled=false - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - cluster.routing.allocation.disk.threshold_enabled=false ports: - "9200:9200" volumes: - elasticsearch-data:/usr/share/elasticsearch/data networks: - elk-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9200/_cluster/health"] interval: 30s timeout: 10s retries: 5 # Logstash logstash: image: docker.elastic.co/logstash/logstash:8.11.0 container_name: fund-logstash environment: - "LS_JAVA_OPTS=-Xms256m -Xmx256m" ports: - "5044:5044" - "9600:9600" volumes: - ./logstash/config:/usr/share/logstash/config - ./logstash/pipeline:/usr/share/logstash/pipeline - /home/along/MyCode/wanjiabuluo/fundplatform/logs:/var/log/fundplatform:ro networks: - elk-network depends_on: elasticsearch: condition: service_healthy # Kibana kibana: image: docker.elastic.co/kibana/kibana:8.11.0 container_name: fund-kibana environment: - ELASTICSEARCH_HOSTS=http://elasticsearch:9200 - xpack.security.enabled=false ports: - "5601:5601" networks: - elk-network depends_on: elasticsearch: condition: service_healthy # Filebeat filebeat: image: docker.elastic.co/beats/filebeat:8.11.0 container_name: fund-filebeat user: root volumes: - ./filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro - /home/along/MyCode/wanjiabuluo/fundplatform/logs:/var/log/fundplatform:ro - /var/lib/docker/containers:/var/lib/docker/containers:ro - /var/run/docker.sock:/var/run/docker.sock:ro networks: - elk-network depends_on: logstash: condition: service_started volumes: elasticsearch-data: driver: local networks: elk-network: driver: bridge