docker - 本地构建的 Docker 映像失败,而来自 docker hub 的相同映像工作
问题描述
我正在运行 Windows 10,使用 docker for windows。
这是基线:
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 图像时,它可以工作。
为什么以及如何解决它?
解决方案
弄清楚了。当本地构建的容器正在运行时,它实际上会因此错误而崩溃
无法识别的 VM 选项“UseParNewGC”,错误:无法创建 Java 虚拟机
使用default-jre-headless
的 Java 版本与旧版本的 Elasticsearch 不兼容。
切换到openjdk-8-jre-headless
解决问题。
我猜 nshou 上的图像已缓存并且太旧以至于它使用的是旧版本的 jre?我不确定为什么当最新default-jre-headless
版本与 repo 的 kibana3 标签存在此问题时基线图像会起作用。
幸好我的问题解决了。
推荐阅读
- android - 每次迭代内的Android延迟循环
- ionic-framework - Ionic 4 - 如何创建 SCSS 自定义 mixin
- java - 使用 JavaFx,如何仅在填充内更改面板背景颜色?
- haskell - 打印浮点数时从“Just 0.631”中删除“Just”
- sql - 在 PostgreSQL 中,选择会计年度月份格式作为日期列
- sql-server - 将 SQLite 整数导出为 DateTime
- ansible - 当我执行剧本时,出现以下错误
- cucumber - 使用 Selenide/Cucumber 重新运行失败的场景 - 没有 rerun.txt 文件
- apache-spark - 在 Spark 上部署 Keras 模型
- c++ - cef 和 SDL2 的触摸事件的一些问题