下载 Elasticsearch 镜像
docker pull elasticsearch:6.8.0
运行 Elasticsearch 镜像
docker run -d –name es -p9220:9200-p9320:9300-e”discovery.type=single-node” -e ES_JAVA_OPTS=”-Xms200m -Xmx200m” elasticsearch:6.8.0
-d:以后台的方式运行;
–name es:指定容器的名称为 es;
-p9200:9200-p9300:9300将容器的9200、9300端口挂载到宿主机的9200、9300端口上;
-e”discovery.type=single-node”-e ES_JAVA_OPTS=”-Xms200m -Xmx200m”:指定为单节点模式,JVM 内存占用200m
安装 analysis-ik 中文分词插件
docker exec -it es/bin/bash
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.0/elasticsearch-analysis-ik-6.8.0.zip
exit
复制相关文件
# 复制 es 配置文件目录到宿主机指定目录,目标目录你可以根据需要,自行修改
docker cp es:/usr/share/elasticsearch/config /data/docker/elasticsearch6
# 复制 es 持久化数据目录到宿主机指定目录
docker cp es:/usr/share/elasticsearch/data /data/docker/elasticsearch6
# 复制 es 插件目录到宿主机指定目录
docker cp es:/usr/share/elasticsearch/plugins /data/docker/elasticsearch6
修改 es 相关配置
1. 进入config 配置目录,修改 jvm.options 文件:
-Xms300m
-Xmx300m
2. 修改 elasticsearch.yml文件, 添加如下配置:
# 设置节点为master节点,并允许跨域访问,以便后面使用head插件图形化界面访问node.name:master
http.cors.enabled:true
http.cors.allow-origin: “*”
network.host: 0.0.0.0
运行 Elasticsearch 容器
docker run –net mynetwork –ip172.18.0.12 –restart always -d -p 9220:9200 -p 9320:9300 -v /data/docker/elasticsearch6/config:/usr/share/elasticsearch/config -v /data/docker/elasticsearch6/data:/usr/share/elasticsearch/data -v /data/docker/elasticsearch6/plugins:/usr/share/elasticsearch/plugins -e” discovery.type=single-node” –name es elasticsearch:6.8.0
测试
curl http://localhost:9220
浏览器访问 http://127.0.0.1:9220/