(1)docker镜像下载
docker pull elasticsearch:5.6.8
注意:由于镜像有570MB,所以提供的虚拟机里已经下载好了该镜像,如下图:
通过命令查询是否下载成功: docker images
(2)安装es容器
docker run -di --name=changgou_elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:5.6.8
启动
docker start changgou_elasticsearch
安装完成后在linux系统内访问 http://192.168.10.54:9200/(注意这里是你虚拟机ip地址),出现下面说明安装成功
注意: 此时不能使用远程访问,
上面完成安装后,es并不能正常使用,elasticsearch从5版本以后默认不开启远程连接,程序直接连接会报如下错误:
failed to load elasticsearch nodes : org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [{#transport#-1}{5ttLpMhkRjKLkvoY7ltUWg}{192.168.10.54}{192.168.10.54:9300}]
我们需要修改es配置开启远程连接,代码如下:
登录容器
docker exec -it changgou_elasticsearch /bin/bash
查看目录结构 输入: dir
root@07f22eb41bb5:/usr/share/elasticsearch# dir
进入config目录
cd config
查看文件 ls
root@07f22eb41bb5:/usr/share/elasticsearch/config# ls
elasticsearch.yml log4j2.properties scripts
修改elasticsearch.yml文件 所在目录 cd /usr/share/elasticsearch
vi elasticsearch.yml
有如下提示说明elasticsearch现在是运行状态,先按下Esc按键,再按下A按键就可以编辑了
修改如下所示:
如果vi命令无法识别,因为docker容器里面没有该命令,我们可以安装该编辑器。
安装vim编辑器
apt-get update
apt-get install vim
重启docker
重启
docker restart changgou_elasticsearch
关闭
docker stop changgou_elasticsearch
启动
docker start changgou_elasticsearch
此时外网就可以访问了