Windows 版 Docker 桌面上的 Elasticsearch

bii*_*ipy 3 elasticsearch docker docker-for-windows docker-desktop

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

我在启动时遇到了 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
Run Code Online (Sandbox Code Playgroud)

或使用主机绑定:

docker run --rm -it -p 15000:15000 -v C:/temp/log:c:/log/elasticsearch/data microsoft/windowsservercore powershell
Run Code Online (Sandbox Code Playgroud)

并调用:

c:/log/elasticsearch/bin/elasticsearch.bat -Ecluster.name=log_cluster -Enode.name=${HOSTNAME} -Enetwork.host="0.0.0.0" -Ehttp.port=15000
Run Code Online (Sandbox Code Playgroud)

我得到:

[2017-04-28T15:40:25,501][警告][oebElasticsearchUncaughtExceptionHandler] [644FE5A1B514] 线程 [main] org.elasticsearch.bootstrap.StartupException 中未捕获的异常:java.lang.IllegalStateException:无法访问'('path.path) C:\log\elasticsearch\data) 在 org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:127) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Elasticsearch.execute (Elasticsearch.java:114) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:58) ~[elasticsearch-5.3.1.jar:5.3。 1] 在 org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org. elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.3.1.jar:5.3.1] 引起:java.lang.IllegalStateException:无法访问“path.data”(C:\log \elasticsearch\data) 在 org.elasticsearch.bootstrap.Security.addPath(Security.java:397) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java :252) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Security.createPermissions(Security.java:208) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org .elasticsearch.bootstrap.Security.configure(Security.java:114) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:237) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:360) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.3.1.jar:5.3.1] ... 6 更多引起: 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] 在 sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) ~[?:1.8.0_131] 在 sun.nio.fs .WindowsLinkSupport.getFinalPath(WindowsLinkSupport.java:82) ~[?:1.8.0_131] 在 sun.nio.fs.WindowsLinkSupport.getRealPath(WindowsLinkSupport.java:242) ~[?:1.8.0_131] 在 sun.nio.fs.WindowsPath.toRealPath(WindowsPath.java:836) ~[?:1.8。 0_131] 在 sun.nio.fs.WindowsPath.toRealPath(WindowsPath.java:44) ~[?:1.8.0_131] 在 org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:435) ~[elasticsearch-5.3。 1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Security.addPath(Security.java:395) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Security.addFilePermissions( Security.java:252) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Security.createPermissions(Security.java:208) ~[elasticsearch-5.3.1.jar:5.3.1] ] 在 org.elasticsearch.bootstrap.Security.configure(Security.java:114) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:237) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Bootstrap.init( Bootstrap.java:360) ~[elasticsearch-5.3.1.jar:5.3.1] 在 org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.3.1.jar:5.3.1] ] ... 6个

Elasticsearch 5.3.1 尝试使用 docker 17.03 和 17.05rc1/2 版

小智 5

我在这里找到了工作的解释。

我在我提出的一个问题上发布了一个解决方案,该问题与此处的问题相同

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