Невозможно установить JAVA_HOME в Elasticsearch 7 Windows Docker Container - PullRequest
3 голосов
/ 14 июня 2019

Я не нашел ни одного изображения док-станции Elasticsearch для Windows.Я попытался создать свой собственный образ jdk11 и эластичный поиск 7.1.1 поверх этого.Проблема в том, что вasticsearch 7.1.1 JAVA_HOME установлен вasticsearch.bat, поэтому он переопределяет JAVA_HOME образа jdk.

Мой файл Docker jdk11 выглядит следующим образом:

FROM  mcr.microsoft.com/powershell:nanoserver
SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop';"]

COPY /jdk-11.0.3_windows-x64_bin.zip jdk.zip

ENV JAVA_HOME=C:\\jdk-11 \
       PATH=C:\\jdk-11\\bin;C:\\windows\\system32${PATH}

RUN       Expand-Archive -Path c:/jdk.zip -DestinationPath c:/ ;\
      Remove-Item c:/jdk.zip -Force   

Мой dockerfileasticsearch 7.1.1 выглядит так:

FROM jdk11:forelastic

SHELL ["pwsh", "-Command", "$ErrorActionPreference = 'Stop';"]

COPY /elasticsearch-7.1.1-windows-x86_64.zip c:\\elasticsearch.zip

RUN Expand-Archive -Path c:/elasticsearch.zip -DestinationPath c:/ ;\
        Rename-Item c:/elasticsearch-7.1.1 c:/elasticsearch ;\
        Remove-Item c:/elasticsearch.zip -Force ;\
        New-Item -Path c:/temp -ItemType "directory"

SHELL ["cmd", "/S", "/C"]

ENV ES_PATH_CONF='c:\\\\elasticsearch\\\\config' 

RUN del c:\elasticsearch\config /F /S /Q 

WORKDIR c:/elasticsearch/bin

CMD ["cmd",  "/C","elasticsearch.bat"]



Изображения построены.Когда я пытаюсь запустить контейнерasticsearch, я получаю следующее сообщение:

"не удалось найти Java в JAVA_HOME или связан с C: \asticsearch \ jdk"

Я взялболее пристальный взгляд наasticsearc 7.1.1asticsearch.bat, и в конце я нахожу эти команды:

%JAVA% %ES_JAVA_OPTS% -Delasticsearch -Des.path.home="%ES_HOME%" -Des.path.conf="%ES_PATH_CONF%" -Des.distribution.flavor="%ES_DISTRIBUTION_FLAVOR%" -Des.distribution.type="%ES_DISTRIBUTION_TYPE%" -Des.bundled_jd="%ES_BUNDLED_JDK%" -cp "%ES_CLASSPATH%" "org.elasticsearch.bootstrap.Elasticsearch" !newparams!

Должен ли я создать изображениеasticsearch с изменённымasticsearch.bat или есть более изящный способ пойти?

PS: я запускаю их в Windows 10 (1809).Более ранние дистрибутивы windows 10 не поддерживали его , но это исправлено с исправлениями на символических ссылках.

...