Docker安装ElasticSearch及挂载目录实现过程
作者:qq_34324703
文章总结了如何部署和配置Elasticsearch和Kibana,包括拉取镜像、安装临时容器、拷贝文件、创建正式容器、设置内存和跨域访问等步骤
1 拉取ES镜像
docker pull elasticsearch:7.7.0
2 安装临时ES容器,用于拷贝挂载文件
docker run --name es -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0
3 拷贝挂载目录下的文件
docker cp -a es:/usr/share/elasticsearch/config/ /opt/es docker cp -a es:/usr/share/elasticsearch/data/ /opt/es docker cp -a es:/usr/share/elasticsearch/logs/ /opt/es docker cp -a es:/usr/share/elasticsearch/plugins/ /opt/es
4 停止es服务,并删除临时容器
docker stop es docker rm es
5 创建正式es容器
docker run -p 9200:9200 -p 9300:9300 \ --privileged=true --name es \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ -v /opt/es/plugins:/usr/share/elasticsearch/plugins \ -v /opt/es/data:/usr/share/elasticsearch/data \ -v /opt/es/logs:/usr/share/elasticsearch/logs \ -v /opt/es/config:/usr/share/elasticsearch/config \ -d elasticsearch:7.7.0
说明
1 privileged=true 允许访问挂载目录
2 "discovery.type=single-node" 单机版
3 ES_JAVA_OPTS="-Xms256m -Xmx256m" 设置内存,如果服务器内存不是很大,这里设置小点,否则服务将起不来
6 设置允许跨域
打开es配置文件 elasticsearch.yml,添加如下,这样head插件就可以访问 es服务器了
http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
7 kibana远程访问
如果你本地已经安装了kibana就无需在远程服务器上安装kibana了,只要做如下的设置就可以通过本地的kibana访问远程的es,打开本地的kibana的配置文件 kibana.yml,添加如下语句
elasticsearch.hosts: ["<此处填写自己的远程服务器ip:9200>"]
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
