elasticsearch端口怎么利用docker镜像进行访问?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
使用docker stack部署的镜像服务,进入镜像之后,理论上,应该可以通过下面的指令访问本地的elasticsearch服务
curl 本机ip/9200
但是却提示拒绝访问。
后来本机使用上述指令查看之后发现,本机也是拒绝访问。
之后发现,9200端口的elasticsearch服务,是通过打洞的方式连接的远程服务器上的elasticsearch服务,只能通过下面指令访问端口
curl 127.0.0.1:9200
如果想要通过本机ip访问9200端口,则需要在打洞指令的后面加上 -g。
补充知识:docker运行elasticsearch时候,访问不了9200端口,容器一开启就关闭
使用docker安装es的时候,访问9200端口失败,用docker ps 查看容器,发现启动es后,过一段时间会自动关闭。把虚拟机的内存加到4G,还是这样。
其实主要的问题是分配给ES的内存太小了:
1.进入etc目录,编辑sysctl.conf文件:
vi /etc/sysctl.conf
2.添加配置:
vm.max_map_count=262144
3.执行:
sysctl -p
4.启动es如果还是失败,修改limits.conf:
vi /etc/security/limits.conf * soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096
5.最后重启虚拟机,浏览器访问:http://192.168.162.131:9200,可以看到启动成功:
我只修改了sysctl.conf就成功了,没有修改limits.conf
看完上述内容,你们掌握elasticsearch端口怎么利用docker镜像进行访问的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。