我正在使用Windows的docker运行Windows 10。
这是基线:
docker pull nshou/elasticsearch-kibana:kibana3
docker image list
docker run -d -p 9200:9200 -p 5601:5601 {imageName}:kibana3
curl localhost:9200/_stats
良好的反应。
所以我从https://bitbucket.org/nshou/elasticsearch-kibana/src/kibana3/Dockerfile复制了Dockerfile
FROM ubuntu:latest
RUN apt-get update -q
RUN apt-get install -yq wget default-jre-headless mini-httpd
ENV ES_VERSION 1.7.4
RUN cd /tmp && \
wget -nv https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-${ES_VERSION}.tar.gz && \
tar zxf elasticsearch-${ES_VERSION}.tar.gz && \
rm -f elasticsearch-${ES_VERSION}.tar.gz && \
mv /tmp/elasticsearch-${ES_VERSION} /elasticsearch
ENV KIBANA_VERSION 3.1.3
RUN cd /tmp && \
wget -nv https://download.elastic.co/kibana/kibana/kibana-${KIBANA_VERSION}.tar.gz && \
tar zxf kibana-${KIBANA_VERSION}.tar.gz && \
rm -f kibana-${KIBANA_VERSION}.tar.gz && \
mv /tmp/kibana-${KIBANA_VERSION} /kibana
CMD /elasticsearch/bin/elasticsearch -Des.http.cors.enabled=true -Des.logger.level=OFF & mini_httpd -d /kibana -h `hostname` -r -D -p 5601
EXPOSE 9200 5601
我用
构建它docker build -t test/test .
图像构建成功。
docker image list
docker run -d -p 9200:9200 -p 5601:5601 {imageName}:latest
curl localhost:9200/_stats
没有回应。不是404,但服务器响应为无响应。
问题似乎是当我自己构建映像时,它不起作用。当我从集线器中拉出相同的dockerfile映像时,它就起作用了。
为什么以及如何解决?
答案 0 :(得分:0)
弄清楚了。 当本地构建的容器运行时,其实际崩溃并显示此错误
Unrecognized VM option 'UseParNewGC' , Error: Could not create the Java Virtual Machine
default-jre-headless
使用的Java版本与此旧版本的Elasticsearch不兼容。
切换到openjdk-8-jre-headless
解决了此问题。
我猜想nshou上的图像已缓存并且太旧了,以至于它正在使用旧版本的jre?我不确定最新的default-jre-headless
在回购的kibana3标签上有此问题时,为什么基准图像会起作用。
非常感谢我的问题得到解决。