docker使用:创建elasticsearch容器并借助REST Client使用容器

本文使用的电脑系统为win10家庭版。

关于wsl2和docker desktop

第一次使用docker时安装的是docker toolbox,遇到了无法挂载文件夹的问题,最近发现利用wsl2可以直接安装docker desktop,使用起来更加方便(貌似toolbox不好用,不更新了),wsl2全称windows subsystem for linux,是一个Windows中的Linux子系统,安装教程很多也很靠谱,安装好wsl2后其实看不出来多了什么东西,还要到Microsoft Store里搜索安装一个Ubuntu,有了这个终端界面就可以使用Linux系统了。
在这里插入图片描述
虽然只能在终端使用,但性能很好,启动很快,使用cd /mnt/c就可以访问C盘,同理访问其他盘,不需要再挂载文件夹,学习Linux十分方便。
在这里插入图片描述
有了wsl2以后安装docker就变得简单无脑了,下载Docker Desktop Installer双击安装即可。

在这里插入图片描述
然后打开cmd输入wsl --list --verbose可以看到当前wsl2下运行的环境,包括Ubuntu和docker desktop。
在这里插入图片描述

docker 安装elasticsearch

据说docker拉镜像会很慢,需要更改成国内镜像什么的,但我这里可以科学上网,直接在cmd中输入docker run -d -p 9200:9200 elasticsearch:6.5.0等待下载完成,这里-d应该是指后台运行,-p是端口映射,要把容器内端口和本机实际端口映射过来,elasticsearch使用9200端口,然后后面的版本号不能少。elasticsearch是一个分布式的免费开源搜索和分析引擎,反正先用起来慢慢就明白了,结果用不起来,在浏览器输入localhost:9200啥也没有,使用docker ps -a一看容器是处于EXITED状态,反复开启了几次都是开启后立刻关闭,给我整蒙了,通过docker logs 容器ID查看容器日志,发现max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144],最大虚拟内存空间不足,好嘛,把这个变量改大一点,查了查在cmd中输入

wsl -d docker-desktop
echo 262144 >> /proc/sys/vm/max_map_count

就可以了,管理容器其实直接在Docker Desktop软件中进行也ok,我这里还装了nginx。
在这里插入图片描述

至此再次访问localhost:9200就看到了下图。在这里插入图片描述
elasticsearch如果直接安装要先配置Java环境,使用docker就十分方便,容器中已经搭建好了需要的环境和对应的应用,我认为这也是docker最大的优势。

elasticsearch使用

elasticsearch使用RESTful web接口,RESTful是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义,简单来说elasticsearch是一种REST服务,使用REST来管理其中的数据库。我这里使用的IDE是vscode,首先在vscode里安装一下REST Client插件,
在这里插入图片描述
创建一个文件xxx.http,然后在文件中输入POST来创建/修改数据,PUT也可以,但POST可以省略ID(自动生成随机id)。其中index表示database,type表示table,

POST/PUT http://localhost:9200/<index>/<type>/<id>

在这里插入图片描述
然后就可以使用GET来获取数据了,其中_search表示全文搜索,q表示属性值

GET http://localhost:9200/<index>/<type>/_search?q=xxx

在这里插入图片描述
各种elasticsearch rest api的操作可以参考这位博主的博客

一个困惑

win10提示更新,更新好以后我的docker居然被删除了!!!幸好Docker Desktop Installer一直没删,重新安装以后,发现之前创建的容器都还在,还好还好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值