ElasticSearch Dockerイメージを作成する(nfsを含む)

問題シナリオ

公式ソースからダウンロードした画像は直接使用できません。X-pack商用プラグイン、nfsツールなしなど多くの問題があります。また、未発見の問題も多いので、手動でes画像を作成することにしました。 。

製造方法

  1. 公式のtarパッケージをダウンロードします(この場合、x-pack商用プラグインは含まれていません)
  2. ローカルに解凍し、構成ファイルを変更します。具体的な変更は次のとおりです。
  • configディレクトリelasticsearch.ymlcluster.name、統一されたクラスター名設定します。これにより、同じクラスター名で見つけられるnode.namようになり、node1、node2などの変更されたノードの名前に変更されます。network.host通常は0.0.0.0に変更されます。discovery.zen.ping.unicast.hostsクラスター内のすべてに変更["10.200.177.101:9300"、 "10.200.177.102:9300"、 "100.200.177.103:9300"]などのノードのIP
  • configディレクトリjvm.optionsで、jvmのメモリサイズを変更します。たとえば、外部に割り当てられたesメモリは16Gです。ここでは、jvmの他の部分もメモリを占有する必要があるため、8Gしか割り当てることができません。構成情報を追加してください。-Xms8g -Xmx8g
  1. Dockerfileを書く
FROM centos:7

ADD jdk-8u261-linux-x64.tar.gz /usr/local
ADD elasticsearch-6.1.3.tar.gz /home/

RUN mv /usr/local/jdk1.8.0_261 /usr/local/jdk
RUN yum install -y nfs-utils

ENV JAVA_HOME=/usr/local/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

RUN groupadd -r es && useradd -r -g es es

RUN chmod -R 777 /home/elasticsearch-6.1.3/
USER es
WORKDIR /home/elasticsearch-6.1.3/bin
ENTRYPOINT [ "./elasticsearch" ]

EXPOSE 9200
EXPOSE 9300
  1. docker build -t xxxx .ビルドスクリプト

包装構造

-------------現在のディレクトリ
Dockerfileelasticsearch
-6.1.3.tar.gz
jdk-8u261-linux-x64.tar.gz

おすすめ

転載: blog.csdn.net/wenyichuan/article/details/108861777