下载 Elasticsearch 镜像
docker pull elasticsearch:6.8.0
运行 Elasticsearch 镜像
docker run -d --name es -p 9200:9200 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms200m -Xmx200m" elasticsearch:6.8.0-d:以后台的方式运行;--name es:指定容器的名称为 es;-p 9200:9200 将容器的 9200 端口挂载到宿主机的 9200 端口上;-e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms200m -Xmx200m":指定为单节点模式,JVM 内存占用 200m
复制相关文件
# 复制 es 配置文件目录到宿主机指定目录,目标目录你可以根据需要,自行修改# 创建本地目录 mkdir -p/Users/ethanxu/Ethan/Docker/elasticsearch6# 复制 es 配置目录到宿主机指定目录docker cp es:/usr/share/elasticsearch/config /Users/ethanxu/Ethan/Docker/elasticsearch6# 复制 es 持久化数据目录到宿主机指定目录docker cp es:/usr/share/elasticsearch/data/Users/ethanxu/Ethan/Docker/elasticsearch6# 复制 es 插件目录到宿主机指定目录docker cp es:/usr/share/elasticsearch/plugins/Users/ethanxu/Ethan/Docker/elasticsearch6# 设置本地目录权限,避免容器内无法同步本地目录修改chmod -R 777/Users/ethanxu/Ethan/Docker/elasticsearch6
重新部署容器
# 删除旧容器 docker rm -f es # 启动容器,挂载本地目录 docker run -d -p 9200:9200 -v /Users/ethanxu/Ethan/Docker/elasticsearch6/config:/usr/share/elasticsearch/config -v /Users/ethanxu/Ethan/Docker/elasticsearch6/data:/usr/share/elasticsearch/data -v /Users/ethanxu/Ethan/Docker/elasticsearch6/plugins:/usr/share/elasticsearch/plugins -e "discovery.type=single-node" --name es elasticsearch:6.8.0
安装 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.zipexit
修改 es 相关配置
进入config 配置目录,修改 jvm.options 文件:
-Xms300m-Xmx300m
修改 elasticsearch.yml文件, 添加如下配置:
# 设置节点为 master 节点,并允许跨域访问,以便后面使用 head 插件图形化界面访问node.name: masterhttp.cors.enabled: truehttp.cors.allow-origin: "*"network.host: 0.0.0.0
运行 Elasticsearch 容器
docker restart es
测试
curl http://localhost:9220浏览器访问 http://127.0.0.1:9220/
