問題シナリオ
公式ソースからダウンロードした画像は直接使用できません。X-pack商用プラグイン、nfsツールなしなど多くの問題があります。また、未発見の問題も多いので、手動でes画像を作成することにしました。 。
製造方法
- 公式のtarパッケージをダウンロードします(この場合、x-pack商用プラグインは含まれていません)
- ローカルに解凍し、構成ファイルを変更します。具体的な変更は次のとおりです。
- configディレクトリ
elasticsearch.yml
でcluster.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
- 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
docker build -t xxxx .
ビルドスクリプト
包装構造
-------------現在のディレクトリ
Dockerfileelasticsearch
-6.1.3.tar.gz
jdk-8u261-linux-x64.tar.gz