How to Use Elasticsearch on Docker

How to Use Elasticsearch on Docker

In the ever-evolving landscape of modern development, containerization has become a pivotal technology. Docker, a leading containerization platform, has gained immense popularity for its ability to package applications and their dependencies in a consistent environment. Elasticsearch, a powerful search and analytics engine, is no exception to this trend. In this guide, we will explore how to leverage Docker to set up and run Elasticsearch efficiently.


Before diving into the world of Elasticsearch on Docker, make sure you have Docker installed on your system. You can download and install Docker from the official website: Docker Installation.

Setting Up Elasticsearch Container:

  1. Pull Elasticsearch Image:
    Open your terminal and run the following command to pull the official Elasticsearch Docker image from the Docker Hub:

    docker pull<version>

    Replace <version> with the desired Elasticsearch version (e.g., 7.10.0).

  2. Run Elasticsearch Container:
    Once the image is downloaded, create and run a container with the following command:

    docker run -d -p 9200:9200 -p 9300:9300 --name elasticsearch-container<version>

    This command starts Elasticsearch in detached mode, exposing ports 9200 and 9300 for communication.

Verifying Elasticsearch Setup:

To ensure that Elasticsearch is up and running, use the following command to check the container logs:

docker logs elasticsearch-container

Look for messages indicating a successful startup.

Interacting with Elasticsearch:

  1. Access Elasticsearch API:
    Open your web browser and navigate to http://localhost:9200 to access the Elasticsearch RESTful API.

  2. Using cURL Commands:
    Interact with Elasticsearch using cURL commands in your terminal. For example, to retrieve cluster health, run:

    curl -X GET "localhost:9200/_cat/health?v"

    This should display information about the health of your Elasticsearch cluster.

Scaling Elasticsearch with Docker Compose:

For more complex setups or to scale your Elasticsearch deployment, consider using Docker Compose. Create a docker-compose.yml file with the following content:

version: '2'
- "9200:9200"
- "9300:9300"

Run the following command to start Elasticsearch with Docker Compose:

docker-compose up -d

In this tutorial, we explored the seamless integration of Elasticsearch with Docker, empowering developers to manage and scale Elasticsearch clusters effortlessly. Docker's containerization provides a flexible and consistent environment for running Elasticsearch, making it easier to deploy and manage in various development scenarios. Now, armed with this knowledge, you can incorporate Elasticsearch into your Dockerized workflows with confidence.

Related Searches and Questions asked:

  • Run Multiple Instances on Docker
  • Deploy NodeJS Application
  • How to Use Docker Public Registry?
  • Create Private Docker Registry
  • That's it for this topic, Hope this article is useful. Thanks for Visiting us.