version: '3' # 执行脚本;docker-compose -f docker-compose-elk.yml up -d # mkdir -p {config,data,logs,plugins} # 控制台;GET _cat/indices - 查看 springboot-logstash- 是否存在,上报后存在,则表示接入成功 services: elasticsearch: image: elasticsearch:7.17.28 ports: - '9201:9200' - '9300:9300' container_name: elasticsearch restart: always environment: - 'cluster.name=elasticsearch' # 设置集群名称为elasticsearch - 'discovery.type=single-node' # 以单一节点模式启动 - "cluster.name=docker-cluster" # 设置名称 - 'ES_JAVA_OPTS=-Xms512m -Xmx512m' # 设置使用jvm内存大小 networks: - elk logstash: image: logstash:7.17.28 container_name: logstash restart: always volumes: - /etc/localtime:/etc/localtime - ./logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf ports: - '4560:4560' - '50000:50000/tcp' - '50000:50000/udp' - '9600:9600' environment: LS_JAVA_OPTS: -Xms1024m -Xmx1024m TZ: Asia/Shanghai MONITORING_ENABLED: false links: - elasticsearch:es # 可以用es这个域名访问elasticsearch服务 networks: - elk depends_on: - elasticsearch # 依赖elasticsearch启动后在启动logstash kibana: image: kibana:7.17.28 container_name: kibana restart: always volumes: - /etc/localtime:/etc/localtime - ./kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml ports: - '5601:5601' links: - elasticsearch:es #可以用es这个域名访问elasticsearch服务 environment: - ELASTICSEARCH_URL=http://elasticsearch:9200 #设置访问elasticsearch的地址 - 'elasticsearch.hosts=http://es:9200' #设置访问elasticsearch的地址 - I18N_LOCALE=zh-CN networks: - elk depends_on: - elasticsearch networks: elk: driver: bridge