Docker 桌面上的 Elasticsearch Windows

Elasticsearch on Docker Desktop for Windows

有没有人在 Docker 上成功 运行 Elasticsearch for Windows?尚未找到此组合的任何信息。

我在启动时遇到 microsoft/windowsservercore 图像内存不足的问题,尽管 microsoft/nanoserver 至少可以启动,但尚未在负载下测试。

此外,在使用卷挂载时 elaticsearch 会抛出异常时会出现一些奇怪的问题:“无法访问 'path.data'”,尽管挂载完全可以从 shell 容器内:

docker volume create log

docker run --rm -it -p 15000:15000 -v log:c:/log/elasticsearch/data microsoft/windowsservercore powershell

或与主机绑定:

docker run --rm -it -p 15000:15000 -v C:/temp/log:c:/log/elasticsearch/data microsoft/windowsservercore powershell

并致电:

c:/log/elasticsearch/bin/elasticsearch.bat -Ecluster.name=log_cluster -Enode.name=${HOSTNAME} -Enetwork.host="0.0.0.0" -Ehttp.port=15000

我得到:

[2017-04-28T15:40:25,501][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [644FE5A1B514] uncaught exception in thread [main] org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Unable to access 'path.data' (C:\log\elasticsearch\data) at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:127) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:58) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.3.1.jar:5.3.1] Caused by: java.lang.IllegalStateException: Unable to access 'path.data' (C:\log\elasticsearch\data) at org.elasticsearch.bootstrap.Security.addPath(Security.java:397) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:252) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:208) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Security.configure(Security.java:114) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:237) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:360) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.3.1.jar:5.3.1] ... 6 more Caused by: java.nio.file.NoSuchFileException: C:\log\elasticsearch\data at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79) ~[?:1.8.0_131] at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) ~[?:1.8.0_131] at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) ~[?:1.8.0_131] at sun.nio.fs.WindowsLinkSupport.getFinalPath(WindowsLinkSupport.java:82) ~[?:1.8.0_131] at sun.nio.fs.WindowsLinkSupport.getRealPath(WindowsLinkSupport.java:242) ~[?:1.8.0_131] at sun.nio.fs.WindowsPath.toRealPath(WindowsPath.java:836) ~[?:1.8.0_131] at sun.nio.fs.WindowsPath.toRealPath(WindowsPath.java:44) ~[?:1.8.0_131] at org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:435) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Security.addPath(Security.java:395) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:252) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:208) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Security.configure(Security.java:114) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:237) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:360) ~[elasticsearch-5.3.1.jar:5.3.1] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.3.1.jar:5.3.1] ... 6 more

弹性搜索 5.3.1 尝试使用 docker 版本 17.03 和 17.05rc1/2

您是否尝试过使用 memory options 之一明确指定更大的内存量?

我找到了关于 here 的解释。

我针对我提出的一个问题发布了一个与这个相同的解决方案 here

此外,我还发布了一个包含 Github 解决方法的 Dockerfile:https://github.com/SharpSeeEr/Dockerfiles