1.先下载镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2
2.启动:
#启动
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2
#进入容器
docker exec -it es /bin/bash
#进入到config
ls
cd /config/
vi elasticsearch.yml
# 加入跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
#重启后要等30秒左右,不知道为什么,可能是我单手开八缸法拉利的缘故.
docker restart es
http://192.168.190.132:9200
#致此 安装成功, 9200打通了, 但是9300还未测试,so,你要测试下9300的端口了, 网上说好多项目中java连不上es的,慎重!
3.查看容器分配的ip地址
在这里需要查看你当前启动的容器的ip,所以要进入容器. 因为docker容器的虚拟机是debian linux, 所以和centos的命令不大一样.
https://blog.51cto.com/10693404/2157142, 这里参考了"xiaoyaokeyx"大神的文章
#进入容器
docker exec -it a2da3616efd0 /bin/bash
#安装一些net软件,update 是更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d列出的源地址,获取最新软件包信息。
apt-get update
#升级已经安装的软件包即update中的
apt-get upgrade
#安装net-tools软件包
apt-get install net-tools
#再次ifconfig
root@1055d17e6bba:/usr/local/tomcat# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet)
RX packets 19 bytes 1419 (1.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7 bytes 354 (354.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
4.此时启动后是关闭的.泪奔, 于是:
#查看容器启动后的日志
docker logs -f 容器id
#网上有很多内存不够的, 各种问题,自行百度吧,小可爱们
5.安装ik分词器:
#下载分词器, 一定要对应的版本才行哦
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip
#复制分词器到容器内部.
mkdir /usr/share/elasticsearch/plugins/ik
docker cp /data/tools/elasticsearch-analysis-ik-6.2.2.zip es:/usr/share/elasticsearch/plugins/ik
#进入到容器中
docker exec -it es /bin/bash
#没有的话就安装zip插件了,
cd /con
yum install zip / apt-get install zip
unzip elasticsearch-analysis-ik-6.2.2.zip
#删除掉zip包包
rm -rf elasticsearch-analysis-ik-6.2.2.zip
#重启
docker restart es
文档参考:https://blog.youkuaiyun.com/qq_33430083/article/details/89031290