Can not connect to elasticsearch container in docker

I’m trying to use the official elasticsearch image for docker and I followed this guide but when I’m trying to connect to elasticsearch cluster I had an exception NoNodeAvailableException[None of the configured nodes are available

my code

  • Debugging staging docker compose server with pycharm
  • Kubernetes docker flannel subnet file not found
  • marathon/mesos cannot run more than one application
  • Nginx dockerized accessing host IIS website on a given port
  • Docker - Override or remove ENTRYPOINT from a base image
  • Docker: failed to pull image (oversized record received with length 20527
  • TransportClient client = new PreBuiltTransportClient(Settings.builder().put("cluster.name", "docker-cluster")
                    .build())
                    .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"), 9300));
    

    To run elasticsearch container I used this command

    docker run -p 9200:9200 -p 9300:9300 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" docker.elastic.co/elasticsearch/elasticsearch:5.2.2
    

    and when I open the browser on localhost:9200 the browser shows this text

    {
      "name" : "J5oojcO",
      "cluster_name" : "docker-cluster",
      "cluster_uuid" : "SfkgAJmaT_Sb3erfYUl7sQ",
      "version" : {
        "number" : "5.2.2",
        "build_hash" : "f9d9b74",
        "build_date" : "2017-02-24T17:26:45.835Z",
        "build_snapshot" : false,
        "lucene_version" : "6.4.1"
      },
      "tagline" : "You Know, for Search"
    }
    

    docker logs

    [2017-03-28T23:57:47,804][INFO ][o.e.n.Node               ] [] initializing ...
    [2017-03-28T23:57:48,214][INFO ][o.e.e.NodeEnvironment    ] [S5IAW08] using [1] data paths, mounts [[/ (overlay)]], net usable_space [54.8gb], net total_space [62.7gb], spins? [possibly], types [overlay]
    [2017-03-28T23:57:48,216][INFO ][o.e.e.NodeEnvironment    ] [S5IAW08] heap size [1.9gb], compressed ordinary object pointers [true]
    [2017-03-28T23:57:48,224][INFO ][o.e.n.Node               ] node name [S5IAW08] derived from node ID [S5IAW08lQvupW8s_e8btAQ]; set [node.name] to override
    [2017-03-28T23:57:48,233][INFO ][o.e.n.Node               ] version[5.2.2], pid[1], build[f9d9b74/2017-02-24T17:26:45.835Z], OS[Linux/4.9.12-moby/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_92-internal/25.92-b14]
    [2017-03-28T23:57:52,719][INFO ][o.e.p.PluginsService     ] [S5IAW08] loaded module [aggs-matrix-stats]
    [2017-03-28T23:57:52,719][INFO ][o.e.p.PluginsService     ] [S5IAW08] loaded module [ingest-common]
    [2017-03-28T23:57:52,720][INFO ][o.e.p.PluginsService     ] [S5IAW08] loaded module [lang-expression]
    [2017-03-28T23:57:52,721][INFO ][o.e.p.PluginsService     ] [S5IAW08] loaded module [lang-groovy]
    [2017-03-28T23:57:52,721][INFO ][o.e.p.PluginsService     ] [S5IAW08] loaded module [lang-mustache]
    [2017-03-28T23:57:52,722][INFO ][o.e.p.PluginsService     ] [S5IAW08] loaded module [lang-painless]
    [2017-03-28T23:57:52,722][INFO ][o.e.p.PluginsService     ] [S5IAW08] loaded module [percolator]
    [2017-03-28T23:57:52,723][INFO ][o.e.p.PluginsService     ] [S5IAW08] loaded module [reindex]
    [2017-03-28T23:57:52,723][INFO ][o.e.p.PluginsService     ] [S5IAW08] loaded module [transport-netty3]
    [2017-03-28T23:57:52,724][INFO ][o.e.p.PluginsService     ] [S5IAW08] loaded module [transport-netty4]
    [2017-03-28T23:57:52,727][INFO ][o.e.p.PluginsService     ] [S5IAW08] loaded plugin [x-pack]
    [2017-03-28T23:57:54,117][WARN ][o.e.d.s.g.GroovyScriptEngineService] [groovy] scripts are deprecated, use [painless] scripts instead
    [2017-03-28T23:58:00,388][INFO ][o.e.n.Node               ] initialized
    [2017-03-28T23:58:00,389][INFO ][o.e.n.Node               ] [S5IAW08] starting ...
    [2017-03-28T23:58:00,920][WARN ][i.n.u.i.MacAddressUtil   ] Failed to find a usable hardware address from the network interfaces; using random bytes: 53:a4:67:2d:77:c8:57:b6
    [2017-03-28T23:58:01,073][INFO ][o.e.t.TransportService   ] [S5IAW08] publish_address {127.0.0.1:9300}, bound_addresses {127.0.0.1:9300}
    [2017-03-28T23:58:04,224][INFO ][o.e.c.s.ClusterService   ] [S5IAW08] new_master {S5IAW08}{S5IAW08lQvupW8s_e8btAQ}{4xwcEYRxTmi7-bRwYXHbYA}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
    [2017-03-28T23:58:04,293][INFO ][o.e.h.HttpServer         ] [S5IAW08] publish_address {172.17.0.2:9200}, bound_addresses {[::]:9200}
    [2017-03-28T23:58:04,295][INFO ][o.e.n.Node               ] [S5IAW08] started
    [2017-03-28T23:58:04,444][INFO ][o.e.g.GatewayService     ] [S5IAW08] recovered [0] indices into cluster_state
    [2017-03-28T23:58:05,622][INFO ][o.e.l.LicenseService     ] [S5IAW08] license [c0268fbc-15ce-418c-aacc-5b9d7c3cbaf7] mode [trial] - valid
    [2017-03-28T23:58:10,747][INFO ][o.e.c.m.MetaDataCreateIndexService] [S5IAW08] [.monitoring-data-2] creating index, cause [auto(bulk api)], templates [.monitoring-data-2], shards [1]/[1], mappings [node, _default_, logstash, cluster_info, kibana]
    [2017-03-28T23:58:11,017][INFO ][o.e.c.m.MetaDataCreateIndexService] [S5IAW08] [.monitoring-es-2-2017.03.28] creating index, cause [auto(bulk api)], templates [.monitoring-es-2], shards [1]/[1], mappings [shards, _default_, node, index_stats, index_recovery, cluster_state, cluster_stats, indices_stats, node_stats]
    [2017-03-28T23:58:11,598][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.28/KmXIrx3-R-G_ngo8rfIcZA] update_mapping [cluster_stats]
    [2017-03-28T23:58:11,852][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.28/KmXIrx3-R-G_ngo8rfIcZA] update_mapping [node_stats]
    [2017-03-28T23:58:22,105][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.28/KmXIrx3-R-G_ngo8rfIcZA] update_mapping [cluster_stats]
    [2017-03-28T23:58:22,192][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.28/KmXIrx3-R-G_ngo8rfIcZA] update_mapping [indices_stats]
    [2017-03-28T23:58:22,264][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.28/KmXIrx3-R-G_ngo8rfIcZA] update_mapping [index_stats]
    [2017-03-28T23:58:44,237][INFO ][o.e.m.j.JvmGcMonitorService] [S5IAW08] [gc][43] overhead, spent [668ms] collecting in the last [1.5s]
    [2017-03-28T23:59:14,284][INFO ][o.e.m.j.JvmGcMonitorService] [S5IAW08] [gc][73] overhead, spent [306ms] collecting in the last [1s]
    [2017-03-29T00:00:03,456][INFO ][o.e.c.m.MetaDataCreateIndexService] [S5IAW08] [.monitoring-es-2-2017.03.29] creating index, cause [auto(bulk api)], templates [.monitoring-es-2], shards [1]/[1], mappings [shards, _default_, node, index_stats, index_recovery, cluster_state, cluster_stats, indices_stats, node_stats]
    [2017-03-29T00:00:03,685][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.29/FulovogFThmVCpL0RS99Hg] update_mapping [cluster_stats]
    [2017-03-29T00:00:03,774][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.29/FulovogFThmVCpL0RS99Hg] update_mapping [node_stats]
    [2017-03-29T00:00:03,856][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.29/FulovogFThmVCpL0RS99Hg] update_mapping [indices_stats]
    [2017-03-29T00:00:03,909][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.29/FulovogFThmVCpL0RS99Hg] update_mapping [index_stats]
    

    health link

    1490745899 00:04:59 docker-cluster yellow 1 1 3 3 0 0 3 0 - 50.0%
    

    Thanks in advance.

    UPDATE

    The official guide says that the image is built with X-Pack, so I tried to disable xpack security, and I succeeded to connect to elastic seacrh container using 127.0.0.1:9300

    Thanks.

  • failed to pull docker/whalesay from dockerhub,
  • Access rest api endpoint docker
  • Looking for ways and options to stop the worker process after task completion in celery?
  • docker container showing wrong time
  • Docker: reload a nodejs app with nodemon
  • How to inform Maven/JVM options for S2I build in OpenShift3
  • One Solution collect form web for “Can not connect to elasticsearch container in docker”

    I don’t know why the docs instruct to do that, but when you pass 127.0.0.1 as the transport host the binding is made only to that address, and therefore is not accessible outside the container.

    Try to define the transport.host as 0.0.0.0 too, so it binds also to the container IP.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.