安装 elasticsearch:7.6.2
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
注意点:elasticsearch是非常耗内存的,如果服务器的内存小的话,启动起来elasticsearch容器后,服务器会特别卡,我们需要解决一下。
解决elasticsearch内存消耗问题
使用命令 docker stats
查看docker的cpu使用状态
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
cab14c5546d9 elasticsearch 0.26% 1.237GiB / 3.56GiB 34.73% 1.18kB / 942B 0B / 696kB 44
可以看到,elasticsearch使用了1.237G的内存,如果服务器内存小的话,就会体现出来。
添加elasticsearch容器中内存的限制:
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
f57cc7a45cf7 es 0.83% 364.3MiB / 3.56GiB 9.99% 3.96kB / 4.96kB 0B / 786kB 49
通过对 docker run
命令添加 -e ES_JAVA_OPTS="-Xms64m -Xmx512m"
设置 最小内存64M、最大内存512M。
测试
[root@iZ2zebz4hic6l9169gtbztZ ~]# curl localhost:9200
{
"name" : "f57cc7a45cf7",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "7S-EI8STTYSCN_Yj_0l2zg",
"version" : {
"number" : "7.6.2",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
"build_date" : "2020-03-26T06:34:37.794943Z",
"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"
}