mac本地docker部署ElasticSearch6

下载 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.zip  
exit 

修改 es 相关配置

进入config 配置目录,修改 jvm.options 文件:

-Xms300m  

-Xmx300m

修改 elasticsearch.yml文件, 添加如下配置:

# 设置节点为 master 节点,并允许跨域访问,以便后面使用 head 插件图形化界面访问    

node.name: master  

http.cors.enabled: true  

http.cors.allow-origin: "*"  

network.host: 0.0.0.0

运行 Elasticsearch 容器

docker restart es

测试

curl http://localhost:9220 

浏览器访问 http://127.0.0.1:9220/

0 评论
最新
最旧 最多投票
内联反馈
查看所有评论
滚动至顶部