1 下载镜像容器

  1. docker pull elasticsearch:7.6.2

2.创建挂载的目录

  1. mkdir -p /mydata/elasticsearch/config
  2. mkdir -p /mydata/elasticsearch/data
  3. echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

3.创建容器并启动

  1. docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.6.2
  2. 其中elasticsearch.yml是挂载的配置文件,data是挂载的数据,pluginses的插件,如ik,而数据挂载需要权限,需要设置data文件的权限为可读可写,需要下边的指令。
  3. chmod -R 777 /mydata/elasticsearch/data (要修改的路径)
  4. -e "discovery.type=single-node" 设置为单节点
  5. 特别注意:
  6. -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ 测试环境下,设置ES的初始内存和最大内存,否则导致过大启动不了ES

安装插件

方式一:在线安装

进入容器

  1. docker exec -it elasticsearch /bin/bash

在线下载并安装

  1. ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip

docker安装ElasticSearch - 图1
进入plugins可以看到IK分词器已经安装成功
docker安装ElasticSearch - 图2