1、从仓库中查找所有ElasticSearch的镜像
[root@localhost ~]# docker search elasticsearch
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
elasticsearch Elasticsearch is a powerful open source sear… 4434 [OK]
nshou/elasticsearch-kibana Elasticsearch-7.7.0 Kibana-7.7.0 119 [OK]
itzg/elasticsearch Provides an easily configurable Elasticsearc… 70 [OK]
mobz/elasticsearch-head elasticsearch-head front-end and standalone … 62
elastichq/elasticsearch-hq Official Docker image for ElasticHQ: Elastic… 55 [OK]
elastic/elasticsearch The Elasticsearch Docker image maintained by… 35
bitnami/elasticsearch Bitnami Docker Image for Elasticsearch 32 [OK]
taskrabbit/elasticsearch-dump Import and export tools for elasticsearch 22 [OK]
lmenezes/elasticsearch-kopf elasticsearch kopf 18 [OK]
barnybug/elasticsearch Latest Elasticsearch 1.7.2 and previous rele… 17 [OK]
justwatch/elasticsearch_exporter Elasticsearch stats exporter for Prometheus 15
esystemstech/elasticsearch Debian based Elasticsearch packing for Lifer… 15
blacktop/elasticsearch Alpine Linux based Elasticsearch Docker Image 12 [OK]
monsantoco/elasticsearch ElasticSearch Docker image 11 [OK]
mesoscloud/elasticsearch [UNMAINTAINED] Elasticsearch 9 [OK]
centerforopenscience/elasticsearch Elasticsearch 4 [OK]
barchart/elasticsearch-aws Elasticsearch AWS node 3
dtagdevsec/elasticsearch elasticsearch 3 [OK]
bitnami/elasticsearch-exporter Bitnami Elasticsearch Exporter Docker Image 2 [OK]
jetstack/elasticsearch-pet An elasticsearch image for kubernetes PetSets 1 [OK]
axway/elasticsearch-docker-beat "Beat" extension to read logs of containers … 1 [OK]
phenompeople/elasticsearch Elasticsearch is a powerful open source sear… 1 [OK]
wreulicke/elasticsearch elasticsearch 0 [OK]
18fgsa/elasticsearch-ha Built from https://github.com/18F/kubernetes… 0
18fgsa/elasticsearch Built from https://github.com/docker-library… 0
2、选择一个版本镜像进行拉取
[root@localhost ~]# docker pull elasticsearch:7.6.1
3、查看镜像
[root@localhost ~]# docker images
4、通过镜像,启动一个容器,并将9200和9300端口映射到本机
[root@localhost ~]# docker network create somenetwork
[root@localhost ~]# docker run -d --name es --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.1
5、 配置跨域,进入容器内部,修改elasticsearch.yml
[root@localhost ~]# docker exec -it es /bin/bash
[root@localhost elasticsearch]# ls
LICENSE.txt NOTICE.txt README.textile bin config data lib logs modules plugins
[root@localhost elasticsearch]# cd config/
[root@localhost config]# ls
elasticsearch.keystore ingest-geoip log4j2.properties roles.yml users_roles
elasticsearch.yml jvm.options role_mapping.yml users
[root@localhost config]# vi elasticsearch.yml
新增跨域配置
cluster.name: "docker-cluster"
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
# minimum_master_nodes need to be explicitly set when bound on a public IP
# set to 1 to allow single node clusters
# Details: https://github.com/elastic/elasticsearch/pull/17288
discovery.zen.minimum_master_nodes: 1
6、重启ElasticSearch容器
[root@localhost ~]# docker restart es
7、 浏览器访问ip:9200
{
name: "1f5a9f949292",
cluster_name: "docker-cluster",
cluster_uuid: "TlppYOEORbK1PvcFDTTZbQ",
version: {
number: "7.6.1",
build_flavor: "default",
build_type: "docker",
build_hash: "aa751e09be0a5072e8570670309b1f12348f023b",
build_date: "2020-02-29T00:15:25.529771Z",
build_snapshot: false,
lucene_version: "8.4.0",
minimum_wire_compatibility_version: "6.8.0",
minimum_index_compatibility_version: "6.0.0-beta1"
},
tagline: "You Know, for Search"
}
ElasticSearch-Head是一个管理界面,可以查看ElasticSearch相关信息
1、拉取ElasticSearch-Head镜像
[root@localhost ~]# docker pull mobz/elasticsearch-head:5
5: Pulling from mobz/elasticsearch-head
75a822cd7888: Pull complete
57de64c72267: Pull complete
4306be1e8943: Pull complete
871436ab7225: Pull complete
0110c26a367a: Pull complete
1f04fe713f1b: Pull complete
723bac39028e: Pull complete
7d8cb47f1c60: Pull complete
7328dcf65c42: Pull complete
b451f2ccfb9a: Pull complete
304d5c28a4cf: Pull complete
4cf804850db1: Pull complete
2、 运行ElasticSearch-Head容器
[root@localhost ~]# docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
a8affb38d3ad7f66b2bb5f7a9a28363bfc48309143b7e9892fe2f9c40ba1f4b4
1、进入es容器内部,/plugins下新建ik文件夹
[root@localhost ~]# docker exec -it es /bin/bash
[root@1f5a9f949292 elasticsearch]# ls
LICENSE.txt NOTICE.txt README.asciidoc bin config data jdk lib logs modules plugins
[root@1f5a9f949292 elasticsearch]# cd plugins/
[root@1f5a9f949292 plugins]# mkdir ik
[root@1f5a9f949292 plugins]# ls
ik
2、下载与es对应版本的ik压缩包,并解压
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
[root@1f5a9f949292 ik]# wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.0/elasticsearch-analysis-ik-7.6.0.zip
[root@1f5a9f949292 ik]# unzip elasticsearch-analysis-ik-7.6.0.zip
[root@1f5a9f949292 ik]# ls
commons-codec-1.9.jar config elasticsearch-analysis-ik-7.6.0.zip httpcore-4.4.4.jar plugin-security.policy
commons-logging-1.2.jar elasticsearch-analysis-ik-7.6.0.jar httpclient-4.5.2.jar plugin-descriptor.properties
3、退出容器,重启es容器
[root@1f5a9f949292 ik]# exit
[root@localhost ~]# docker restart es
es
4、测试ik分词插件,postman请求以下参数
ip:9200/_analyze?pretty=true
{
"analyzer": "ik_max_word",
"text": "随便打一句话"
}
注意analyzer这个单词上下是不一样的
至此Docker安装 Elasticsearch已基本完成