群晖NAS教程(七)、利用Docker安装elasticsearch并进行远程访问
一、下载elasticsearch官方镜像
然后直接下载elasticsearch镜像即可。
二、配置elasticsearch镜像的启动参数
双击运行,输入容器名称。选择高级设置进行参数设定。
设置环境变量,新增一个discovery.type,设定为single-node。
启动镜像。
这时候就可以验证一下,比如使用postman在局域网内调用一下,看是否成功启动:http://192.168.31.19:9200
,192.168.31.19
是我的群晖NAS内外IP。
三、路由器设置mongo的端口转发到外网
名称 | 协议 | 外部端口 | 内部IP地址 | 内部端口 |
---|---|---|---|---|
6384 | TCP | 6384 | 192.168.31.19 | 9200 |
名称可以随便填,协议选择TCP,外部端口是外网访问的端口,内部IP地址是群晖的本地IP,内部端口是容器暴露给宿主机的端口号,这里设置成6384。如果把外部端口设置成9200网络会不通,所以我们设置成了6384端口,一般大的端口可能会有各种网络的问题,还是建议使用小一些的端口,懒得折腾了,就先用这个端口,6384端口是没有任何问题的。
四、为elasticsearch设置密码
首先使用postman在局域网调用一下这个请求:http://192.168.31.19:9200/_xpack/license/start_trial?acknowledge=true
返回这个即为成功:{"acknowledged":true,"trial_was_started":true,"type":"trial"}
。
然后打开容器bash窗口:
首先找到elasticsearch.yml文件的位置,我们使用whereis elasticsearch.yml
命令。然后进入目录进行vim编辑。
在elasticsearch.yml文件末尾增加这几项:
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
保持并退出之后,cd到bin目录,并执行./elasticsearch-setup-passwords interactive
,进行秘密设定。
重启es。
五、使用elasticsearch head插件进行访问
百度这个elasticsearch head插件,下载到后缀为crx的文件进行安装即可,超级简单,不会的可以百度教程。当然也可以使用kibana、postman等去做各种操作。
安装好之后,在Chrome的右上方,会有这样一个小插件按钮。
点击这个小按钮,打开elasticsearch head插件。然后输入连接地址,点击connect,并且输入设置的用户名和密码,即可连接,从而进行各种查询与存储操作。
到此大功告成,elasticsearch就可以愉快的外网访问啦!
并且这个镜像是可以开机自启动elasticsearch的,所以无需额外的配置了。