服务器 
首页 > 服务器 > 浏览文章

docker镜像访问本地elasticsearch端口操作

(编辑:jimmy 日期: 2024/12/28 浏览:3 次 )

使用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

docker镜像访问本地elasticsearch端口操作

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,可以看到启动成功:

docker镜像访问本地elasticsearch端口操作

我只修改了sysctl.conf就成功了,没有修改limits.conf

以上这篇docker镜像访问本地elasticsearch端口操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:Docker绑定固定IP/跨主机容器互访操作
下一篇:完美解决Windows10下无法对docker容器进行端口访问的操作
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。