docker安装elasticSearch

1.设置max_map_count不能启动es会启动不起来
查看max_map_count的值 默认是65530

cat /proc/sys/vm/max_map_count


重新设置max_map_count的值sysctl -w vm.max_map_count=262144

2.下载镜像并运行

#拉取镜像
docker pull elasticsearch:7.7.0

#启动镜像
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0


参数说明

--name表示镜像启动后的容器名称  

-d: 后台运行容器,并返回容器ID;

-e: 指定容器内的环境变量

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

3.浏览器访问ip:9200 如果出现以下界面就是安装成功

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201223171312149.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTQyNDkw,size_16,color_FFFFFF,t_70
4.安装elasticsearch-head

#拉取镜像
docker pull mobz/elasticsearch-head:5
#创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
#启动容器
docker start elasticsearch-head
or
docker start 容器id (docker ps -a 查看容器id )


5.浏览器打开: http://IP:9100在这里插入图片描述
尝试连接easticsearch会发现无法连接上,由于是前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置。
解决办法
6.修改docker中elasticsearch的elasticsearch.yml文件

docker exec -it elasticsearch /bin/bash (进不去使用容器id进入)


vi config/elasticsearch.yml


在最下面添加2行

http.cors.enabled: true 
http.cors.allow-origin: "*"
 


退出并重启服务

docker exec -it elasticsearch /bin/bash (进不去使用容器id进入)


vi config/elasticsearch.yml



7.ElasticSearch-head 操作时不修改配置,默认会报 406错误码

#复制vendor.js到外部
docker cp 容器id:/usr/src/app/_site/vendor.js /usr/local/

#修改vendor.js
vim vendor.js

修改完成在复制回容器

docker cp /usr/local/vendor.js  容器id:/usr/src/app/_site

重启elasticsearch-head

docker restart 容器id


最好就可以查询到es数据了

在这里插入图片描述
8.安装ik分词器
这里采用离线安装

 

下载分词器压缩包
下载地址:

https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip
将IK分词器上传到/tmp目录中(xftp)

将分词器安装进容器中

#将压缩包移动到容器中
docker cp /tmp/elasticsearch-analysis-ik-7.7.0.zip elasticsearch:/usr/share/elasticsearch/plugins

#进入容器
docker exec -it elasticsearch /bin/bash  

#创建目录
mkdir /usr/share/elasticsearch/plugins/ik

#将文件压缩包移动到ik中
mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.7.0.zip /usr/share/elasticsearch/plugins/ik

#进入目录
cd /usr/share/elasticsearch/plugins/ik

#解压
unzip elasticsearch-analysis-ik-7.7.0.zip

#删除压缩包
rm -rf elasticsearch-analysis-ik-7.7.0.zip

退出并重启镜像

给大家个建议,这玩意装与不装都挺好,不装查到的东西也很精确够使,装上会查出一些没有用的!
————————————————
版权声明:本文为优快云博主「Bright1668」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_40942490/article/details/111594267

### 使用Docker安装Elasticsearch的教程 #### 安装前准备 为了确保顺利安装,需确认已正确配置好Docker环境并能够正常运行容器服务[^2]。 #### 下载官方镜像 通过执行如下命令来获取指定版本(例如7.14.0)的Elasticsearch Docker镜像: ```bash docker pull docker.elastic.co/elasticsearch/elasticsearch:7.14.0 ``` 这一步骤会从Elastic官方仓库下载对应标签下的最新构建版本[^1]。 #### 启动Elasticsearch实例 创建一个新的网络以便后续可以方便地连接其他组件如Kibana等工具;接着启动单节点模式下的Elasticsearch容器。这里假设使用默认设置,并开放9200端口用于HTTP通信以及9300端口作为集群间通讯接口: ```bash docker network create esnet docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ --network=esnet \ -d docker.elastic.co/elasticsearch/elasticsearch:7.14.0 ``` 上述操作定义了一个名为`elasticsearch`的新容器,并将其加入到之前建立好的虚拟网桥中去[^3]。 #### 配置持久化存储 为了避免数据丢失,在实际生产环境中建议将重要目录映射至宿主机路径下保存。比如把配置文件夹复制出来便于修改参数设定: ```bash mkdir -p /mydata/es/config docker cp elasticsearch:/usr/share/elasticsearch/config/ /mydata/es/ ``` 之后可以在本地编辑这些文档后再送回给正在运行的服务进程加载应用新的更改项。 #### 测试访问 最后可以通过浏览器或其他RESTful客户端尝试请求http://localhost:9200/_cat/nodes?v验证是否成功部署完成。如果一切正常的话应该能看到有关当前节点的信息列表显示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值