How to deploy ElasticSearch in Docker

How to deploy ElasticSearch in Docker

1. What is ElasticSearch?

Elasticsearch is also developed in Java and uses Lucene as its core to implement all indexing and search functions, but its purpose is to hide the complexity of Lucene through a simple RESTful API, making full-text search simple.

However, Elasticsearch is more than just Lucene and full-text search. We can also describe it like this:

Distributed real-time file storage, each field is indexed

A distributed real-time analytical search engine that can be searched and indexed

Can be expanded to hundreds of servers and process PB-level structured or unstructured data

2. Deploy ElasticSearch with Docker

2.1 Pull the image

docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2

2.2 Run the container

The default port of ElasticSearch is 9200. We map the host environment port 9200 to the Docker container port 9200, and then we can access the ElasticSearch service in the Docker container. At the same time, we name this container es .

Copy the code as follows:
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2

2.3 Configuring cross-domain

2.3.1 Entering the container

Since configuration is required, you need to enter the container to modify the corresponding configuration information.

docker exec -it es /bin/bash

2.3.2 Configuration

# Display file ls
The results are as follows:
LICENSE.txt README.textile config lib modules
NOTICE.txt bin data logs plugins

# Enter the configuration folder cd config

# Display file ls
The results are as follows:
elasticsearch.keystore ingest-geoip log4j2.properties roles.yml users_roles
elasticsearch.yml jvm.options role_mapping.yml users

# Modify the configuration file vi elasticsearch.yml

# Add cross-domain configuration http.cors.enabled: true
http.cors.allow-origin: "*"

2.3 Restarting the container

Since the configuration has been modified, the ElasticSearch container needs to be restarted.

docker restart es

The display is as follows:

3. Docker deployment of ElasticSearch-Head

Why install ElasticSearch-Head ? The reason is that you need a management interface to view ElasticSearch related information

3.1 Pull the image

docker pull mobz/elasticsearch-head:5

3.2 Run the container

docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5

The display is as follows:




In this way, we have completed the use of Docker to provide Elasticsearch services without polluting the host environment. This has another benefit. If you want to start multiple different versions of Elastcsearch or other services at the same time, Docker is also an ideal solution.

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Tutorial on installing Elasticsearch 7.6.2 in Docker
  • Insufficient memory problem and solution when docker starts elasticsearch
  • How to install elasticsearch and kibana in docker
  • Docker installs Elasticsearch7.6 cluster and sets password
  • Sample code for installing ElasticSearch and Kibana under Docker
  • Detailed explanation of using Elasticsearch visualization Kibana under Docker
  • How to install ElasticSearch on Docker in one article

<<:  MySQL implements a function similar to connect_by_isleaf MySQL method or stored procedure

>>:  Do you know the weird things in Javascript?

Recommend

Detailed explanation of MySQL 8's new feature ROLE

What problems does MySQL ROLE solve? If you are a...

TCP third handshake data transmission process diagram

The process packets with the SYN flag in the RFC7...

Detailed explanation of real-time backup knowledge points of MySQL database

Preface The need for real-time database backup is...

Docker deploys net5 program to achieve cross-platform functions

Deployment environment: docker container, liunx s...

How to add vim implementation code examples in power shell

1. Go to Vim's official website to download t...

How to implement second-level scheduled tasks with Linux Crontab Shell script

1. Write Shell script crontab.sh #!/bin/bash step...

Docker pull image and tag operation pull | tag

I re-read the source code of the Fabric project a...

Detailed explanation of viewing and setting SQL Mode in MySQL

Viewing and Setting SQL Mode in MySQL MySQL can r...

Summary of basic knowledge points of Linux group

1. Basic Introduction of Linux Group In Linux, ev...

Detailed tutorial on building an ETCD cluster for Docker microservices

Table of contents Features of etcd There are thre...

Windows cannot start MySQL service and reports error 1067 solution

Suddenly when I logged into MySQL, it said that a...

Example of implementing QR code scanning effects with CSS3

Online Preview https://jsrun.pro/AafKp/ First loo...

Summary of HTML knowledge points for the front end (recommended)

1. HTML Overview htyper text markup language Hype...