1.安装jdk
$ docker pull openjdk
$ docker run -d -it –name myopenjdk openjdk /bin/bash
2.安装elasticsearch
docker run -d -p 9200:9200 –name="es" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" elasticsearch:5.6
docker pull elasticsearch:5.6.9 #拉这个版本是视频上的
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 –name ES01 5c1e1ecfe33a
#启动elasticsearch:5.6.9的镜像
Docker安装Elasticsearch的遇到的那些坑
weylau关注
0.0612018.10.16 20:28:32字数 65阅读 1,170
1、docker 运行 Elasticsearch 报错
1
2
3 1$ docker run -d -p 9200:9200 --name="es" elasticsearch:5.6
2
3
报错:failed; error='Cannot allocate memory' (errno=12)
原因:5.0默认分配jvm空间大小为2g 5.0之前好像是1g
解决方法:-e ES_JAVA_OPTS="-Xms256m -Xmx256m" //设置初始内存 和最大内存
1
2
3 1docker run -d -p 9200:9200 --name="es" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" elasticsearch:5.6
2
3
docker安装jdk
docker安装jdk
**1查找jdk镜像: **
1
2 1$ docker search jdk
2
2下载openjdk镜像:
1
2 1$ docker pull openjdk
2
3运行jdk容器:
1
2 1$ docker run -d -it --name myopenjdk openjdk /bin/bash
2
格式: docker run -d -it [镜像名称或id] /bin/bash
注意: -it /bin/bash 一定不能省了,不然jdk起不来,或者懒人写法 -it bash 也可以。
4进入容器验证:
1
2 1$ docker exec -it myopenjdk /bin/bash
2
*************************************************************************************************************
Docker安装Elasticsearch的遇到的那些坑
hangxin1940/docker-elasticsearch-cn:v2.1.0
使用
docker run -d -p 9200:9200 -p 9300:9300 –name es hangxin1940/docker-elasticsearch-cn:v2.1.0
进行启动,报出异常,搜索两个多小时,没有找到可以解决此问题的答案
2.回归本源,查看并下载elasticsearch的官方镜像
docker pull elasticsearch
即:5.1.1, 5.1, 5, latest (5/Dockerfile)
采用其官方推荐的最简方式启动
docker run -d elasticsearch
抛出异常
又花费了两个小时,问题还是没有解决。又放弃。
3.找同事帮助,最后在同事的帮助下,他发给我
elasticsearch:2.3的镜像,并同时将启动命令发给我
docker run -d –name=esNode1 -p 9200:9200 -p 9300:9300 elasticsearch:2.3 -Des.network.publish_host="192.168.56.101"
启动后无异常
查看es(这里的ip是docker的default machine的ip)
访问http://192.168.56.101:9200/,可正确访问
同时按照的有两个插件head和kopf
问题终于得到解决。
有经验的伙伴可以尝试使用小编跑出异常的方式尝试哈,方便的话可以将解决方案描述哈。
docker 安装elasticsearch
1 | docker search elasticsearch |
1 | 1 |
选择一个版本,拉取镜像
1
2 1docker pull elasticsearch:2.4.4
2
查看镜像
1
2 1docker images
2
通过镜像,启动一个容器,并将9200和9300端口映射到本机
1
2 1docker run -d -p 9200:9200 -p 9300:9300 --name elasticsearch elasticsearch:2.4.4
2
查看已启动容器
1
2 1docker ps
2
验证是否安装成功?访问:
1
2 1http://localhost:9200/
2
安装插件,先进入容器:
1
2 1docker exec -it 4d34fbf944a5 /bin/bash
2
进入容器bin目录,并执行安装插件命令:
1
2
3 1cd bin
2ls
3
1
2
3
4
5 1 plugin install mobz/elasticsearch-head
2
3/**(低版本执行命令有所不同)**/
4 plugin -install mobz/elasticsearch-head
5
访问:
1
2 1http://localhost:9200/_plugin/head/
2
插件安装成功