Kibana

Hi,
I set up 3 node elastic cluster with kibana on docker. And it was working. But I after restart it again by docker-compose.yml everything is showing running but kibana is now not opening in browser but in docker side is showing running on localhost:5601.

kib01_1      | {"type":"log","@timestamp":"2021-01-12T16:33:09Z","tags":["info","savedobjects-service"],"pid":7,"message":"Finished in 614ms."}
kib01_1      | {"type":"log","@timestamp":"2021-01-12T16:33:10Z","tags":["info","savedobjects-service"],"pid":7,"message":"Reindexing .kibana to .kibana_1"}
kib01_1      | {"type":"log","@timestamp":"2021-01-12T16:33:11Z","tags":["info","savedobjects-service"],"pid":7,"message":"Migrating .kibana_1 saved objects to .kibana_2"}
kib01_1      | {"type":"log","@timestamp":"2021-01-12T16:33:11Z","tags":["info","savedobjects-service"],"pid":7,"message":"Pointing alias .kibana to .kibana_2."}
kib01_1      | {"type":"log","@timestamp":"2021-01-12T16:33:11Z","tags":["info","savedobjects-service"],"pid":7,"message":"Finished in 2562ms."}
kib01_1      | {"type":"log","@timestamp":"2021-01-12T16:33:11Z","tags":["info","plugins-system"],"pid":7,"message":"Starting [96] plugins: [taskManager,licensing,globalSearch,globalSearchProviders,code,usageCollection,xpackLegacy,telemetryCollectionManager,telemetry,telemetryCollectionXpack,kibanaUsageCollection,securityOss,newsfeed,mapsLegacy,kibanaLegacy,translations,share,legacyExport,embeddable,uiActionsEnhanced,expressions,data,home,observability,cloud,console,consoleExtensions,apmOss,searchprofiler,painlessLab,grokdebugger,management,indexPatternManagement,advancedSettings,fileUpload,savedObjects,dashboard,visualizations,visTypeVega,visTypeTimelion,timelion,features,upgradeAssistant,security,snapshotRestore,enterpriseSearch,encryptedSavedObjects,ingestManager,indexManagement,remoteClusters,crossClusterReplication,indexLifecycleManagement,dashboardMode,beatsManagement,transform,ingestPipelines,maps,licenseManagement,graph,dataEnhanced,visTypeTable,visTypeMarkdown,tileMap,regionMap,inputControlVis,visualize,esUiShared,charts,lens,visTypeVislib,visTypeTimeseries,rollup,visTypeTagcloud,visTypeMetric,watcher,discover,discoverEnhanced,savedObjectsManagement,spaces,reporting,lists,eventLog,actions,case,alerts,stackAlerts,triggersActionsUi,ml,securitySolution,infra,monitoring,logstash,apm,uptime,bfetch,canvas]"}
kib01_1      | {"type":"log","@timestamp":"2021-01-12T16:33:11Z","tags":["info","plugins","taskManager","taskManager"],"pid":7,"message":"TaskManager is identified by the Kibana UUID: 7abc4d21-e87f-49d8-b49b-c19f0204efc5"}
kib01_1      | {"type":"log","@timestamp":"2021-01-12T16:33:12Z","tags":["info","plugins","crossClusterReplication"],"pid":7,"message":"Your basic license does not support crossClusterReplication. Please upgrade your license."}
kib01_1      | {"type":"log","@timestamp":"2021-01-12T16:33:12Z","tags":["info","plugins","watcher"],"pid":7,"message":"Your basic license does not support watcher. Please upgrade your license."}
kib01_1      | {"type":"log","@timestamp":"2021-01-12T16:33:12Z","tags":["info","plugins","monitoring","monitoring","kibana-monitoring"],"pid":7,"message":"Starting monitoring stats collection"}
kib01_1      | {"type":"log","@timestamp":"2021-01-12T16:33:12Z","tags":["listening","info"],"pid":7,"message":"Server running at http://localhost:5601"}
kib01_1      | {"type":"log","@timestamp":"2021-01-12T16:33:13Z","tags":["info","http","server","Kibana"],"pid":7,"message":"http server running at http://localhost:5601"}

Here is my docker-compose.yml file

version: '3.2'

services:

  es01:
    build:
      context: elasticsearch/
      args:
        ELK_VERSION: $ELK_VERSION
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - type: bind
        source: ./elasticsearch/config1/elasticsearch.yml
        target: /usr/share/elasticsearch/config1/elasticsearch.yml
        read_only: true
      - data01:/usr/share/elasticsearch/data
    ports:
      - "9200:9200"
      - "9300:9300"
    networks:
      - elastic

  es02:
    build:
      context: elasticsearch/
      args:
        ELK_VERSION: $ELK_VERSION
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - type: bind
        source: ./elasticsearch/config2/elasticsearch.yml
        target: /usr/share/elasticsearch/config2/elasticsearch.yml
        read_only: true
      - data02:/usr/share/elasticsearch/data
    ports:
      - "9201:9201"
    networks:
      - elastic

  es03:
    build:
      context: elasticsearch/
      args:
        ELK_VERSION: $ELK_VERSION
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - type: bind
        source: ./elasticsearch/config3/elasticsearch.yml
        target: /usr/share/elasticsearch/config3/elasticsearch.yml
        read_only: true
      - data03:/usr/share/elasticsearch/data
    ports:
      - "9202:9202"
    networks:
      - elastic

  kib01:
    build:
      context: kibana/
      args:
        ELK_VERSION: $ELK_VERSION
    volumes:
      - type: bind
        source: ./kibana/config/kibana.yml
        target: /usr/share/kibana/config/kibana.yml
        read_only: true
    ports:
      - "5601:5601"
    environment:
      ELASTICSEARCH_URL: http://es01:9200
      ELASTICSEARCH_HOSTS: http://es01:9200
    networks:
      - elastic
      
volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local

networks:
  elastic:
    driver: bridge      

but kibana is now not opening in browser but in docker side is showing running on localhost:5601

It sounds like Kibana has the default server.host setting, which only allows binding to localhost. In docker, that will only allow Kibana to be seen inside the container.

In the default config for the Kibana image, , we set server.host to 0 (shortcut for 0.0.0.0 ). Make sure that you have not overwritten that to something else in the kibana.yml that you have mounted.