我使用的是官方弹性镜像中的自定义镜像:
docker.elastic.co/elasticsearch/elasticsearch:5.6.4
我有一个内存问题,所以在这个图像中,我没有Java工具来监控内存。
有没有可能使用这个镜像,但是基于一个“更大”的镜像,有更多的调试工具,比如busybox?
发布于 2017-12-14 17:08:21
标准方法是通过创建自定义dockerfile并安装所需的工具来扩展此映像。
FROM elasticsearch:5.6.5
RUN <install tools you need>elastic search镜像是基于openjdk:8-jre的,它不包含jdk附带的开发工具。如果比较openjdk-jdk和openjdk-jre的compare文件,就会发现/docker-java-home是安装在compare下的
因此,您可以使用docker multi-stage build将jdk复制到弹性搜索图像上。
FROM openjdk:8-jdk as jdk
FROM elasticsearch:5.6.5
COPY --from=jdk /docker-java-home /docker-java-home这将用提供java开发工具的jdk版本替换elasticsearch镜像中的jre安装。这可能是最简单的方法。
最后,您可以使用“蛮力”重新构建整个弹性搜索图像,方法是在elasticsearch docker file中将FROM openjdk:8-jre替换为FROM openjdk:8-jdk。
https://stackoverflow.com/questions/47808592
复制相似问题