使用docker stack部署的鏡像服務(wù),進(jìn)入鏡像之后,理論上,應(yīng)該可以通過(guò)下面的指令訪問(wèn)本地的elasticsearch服務(wù)
curl 本機(jī)ip/9200
但是卻提示拒絕訪問(wèn)。
后來(lái)本機(jī)使用上述指令查看之后發(fā)現(xiàn),本機(jī)也是拒絕訪問(wèn)。
之后發(fā)現(xiàn),9200端口的elasticsearch服務(wù),是通過(guò)打洞的方式連接的遠(yuǎn)程服務(wù)器上的elasticsearch服務(wù),只能通過(guò)下面指令訪問(wèn)端口
curl 127.0.0.1:9200
如果想要通過(guò)本機(jī)ip訪問(wèn)9200端口,則需要在打洞指令的后面加上 -g。
補(bǔ)充知識(shí):docker運(yùn)行elasticsearch時(shí)候,訪問(wèn)不了9200端口,容器一開(kāi)啟就關(guān)閉
使用docker安裝es的時(shí)候,訪問(wèn)9200端口失敗,用docker ps 查看容器,發(fā)現(xiàn)啟動(dòng)es后,過(guò)一段時(shí)間會(huì)自動(dòng)關(guān)閉。把虛擬機(jī)的內(nèi)存加到4G,還是這樣。
其實(shí)主要的問(wèn)題是分配給ES的內(nèi)存太小了:
1.進(jìn)入etc目錄,編輯sysctl.conf文件:
vi /etc/sysctl.conf
2.添加配置:
vm.max_map_count=262144
3.執(zhí)行:
sysctl -p
4.啟動(dòng)es如果還是失敗,修改limits.conf:
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
5.最后重啟虛擬機(jī),瀏覽器訪問(wèn):http://192.168.162.131:9200,可以看到啟動(dòng)成功:
我只修改了sysctl.conf就成功了,沒(méi)有修改limits.conf
以上這篇docker鏡像訪問(wèn)本地elasticsearch端口操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。