Dockerizing enterprise search

I am running both Elasticsearch and kibana on docker without using SSL, and want to also add enterprise search there. Here is my config for Elasticsearch:

`
cluster.name: "docker-cluster"
network.host: 0.0.0.0

#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------

The following settings, TLS certificates, and keys have been automatically

generated to configure Elasticsearch security features on 28-03-2023 23:50:42

--------------------------------------------------------------------------------

Enable security features

xpack.security.enabled: true

xpack.security.enrollment.enabled: true

Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents

xpack.security.http.ssl:
enabled: false
keystore.path: certs/http.p12

Enable encryption and mutual authentication between cluster nodes

xpack.security.transport.ssl:
enabled: true
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12

Create a new cluster with the current node only

Additional nodes can still join the cluster later

cluster.initial_master_nodes: ["210e3ebed490"]

#----------------------- END SECURITY AUTO CONFIGURATION ------------------------- `

here is the kibana.yml:

### >>>>>>> BACKUP START: Kibana interactive setup (2023-03-28T23:54:28.887Z)

#
# ** THIS IS AN AUTO-GENERATED FILE **
#

# Default Kibana configuration for docker target
#server.host: "0.0.0.0"
#server.shutdownTimeout: "5s"
#elasticsearch.hosts: [ "http://elasticsearch:9200" ]
#monitoring.ui.container.elasticsearch.enabled: true
### >>>>>>> BACKUP END: Kibana interactive setup (2023-03-28T23:54:28.887Z)

# This section was automatically generated during setup.
enterpriseSearch.host: 'http://enterprise-search:3002'
server.host: 0.0.0.0
server.shutdownTimeout: 5s
elasticsearch.hosts: ['http://es01:9200']
monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.serviceAccountToken: "TOKEN"
elasticsearch.ssl.certificateAuthorities: [/usr/share/kibana/data/ca_1680047668873.crt]
xpack.fleet.outputs: [{id: fleet-default-output, name: default, is_default: true, is_default_monitoring: true, type: elasticsearch, hosts: ['http://localhost:9200'], ca_trusted_fingerprint: fingerprint}]

container name is es01 for elastic and kibana-01 for kibana. Both are working fine on ports 9200 and 5601.
When I run docker logs es01 | grep 'publish_address', there are two different publish addresses:

{"@timestamp":"2023-03-28T23:51:09.040Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-28T23:51:09.727Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-29T00:00:07.181Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-29T00:00:08.121Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-29T00:33:21.936Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-29T00:33:22.921Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-29T00:40:13.423Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-29T00:40:14.479Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-29T00:50:35.059Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-29T00:50:35.999Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-30T11:07:57.423Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-30T11:07:58.636Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-31T21:25:19.133Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-31T21:25:20.179Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-31T22:23:58.899Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-03-31T22:23:59.870Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-04T09:59:42.185Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-04T09:59:43.083Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-04T10:15:32.493Z", "log.level": "INFO", "message":"publish_address {172.18.0.4:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-04T10:15:33.682Z", "log.level": "INFO", "message":"publish_address {172.18.0.4:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-04T11:21:34.007Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-04T11:21:35.225Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-20T10:41:36.135Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-20T10:41:37.090Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-20T16:36:36.731Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-20T16:36:37.841Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-20T18:30:14.281Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-20T18:30:15.152Z", "log.level": "INFO", "message":"publish_address {172.18.0.2:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-20T18:49:19.556Z", "log.level": "INFO", "message":"publish_address {172.18.0.3:9300}, bound_addresses {0.0.0.0:9300}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.transport.TransportService","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
{"@timestamp":"2023-04-20T18:49:20.626Z", "log.level": "INFO", "message":"publish_address {172.18.0.3:9200}, bound_addresses {0.0.0.0:9200}", "ecs.version": "1.2.0","service.name":"ES_ECS","event.dataset":"elasticsearch.server","process.thread.name":"main","log.logger":"org.elasticsearch.http.AbstractHttpServerTransport","elasticsearch.cluster.uuid":"JakoB0I6Sy2pqs62ImK-gQ","elasticsearch.node.id":"CfsB1UyKTNKAem6vBAIchg","elasticsearch.node.name":"210e3ebed490","elasticsearch.cluster.name":"docker-cluster"}
````````````````````````````````````````````````````````````````````````````````````````````

So now for running enterprise search which one of publish addresses shall I choose? 
 
I have tried this, but it is not working: 
docker run \
--name "enterprise-search" \
--network "elastic" \
--publish "3002:3002" \
--volume "es-config:/usr/share/enterprise-search/es-config:ro" \
--interactive \
--tty \
--rm \
--env "secret_management.encryption_keys=[secret-key]" \
--env "allow_es_settings_modification=true" \
--env "elasticsearch.host=http://172.18.0.2:9300" \
--env "elasticsearch.username=elastic" \
--env "elasticsearch.password=password" \
--env "elasticsearch.ssl.enabled=false" \
--env "elasticsearch.ssl.certificate_authority=/usr/share/enterprise-search/es-config/certs/http_ca.crt" \
--env "kibana.external_url=http://kibana-01:5601" \
"docker.elastic.co/enterprise-search/enterprise-search:8.6.2"

HI @pitrish !

Your Kibana host looks correct. Are all your Docker containers running in the same network?

Could you post your Docker commands? Please be mindful of using preformatted text / code blocks to make them easy to read.

I would recommend following the Docker instructions from the documentation, which includes a Docker compose file that can be used to bootstrap Elasticsearch, Kibana and Enterprise Search.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.