适用于Windows的Docker桌面上的Elasticsearch

时间:2017-05-02 07:41:52

标签: docker elasticsearch docker-for-windows docker-desktop

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

启动时我的microsoft / windowsservercore映像没有足够的内存问题,尽管微软/纳米服务器至少可以启动,但尚未在负载下测试。

此外,使用卷装入存在一些时髦的问题,其中elaticsearch抛出异常:“无法访问'path.data'”,尽管mount可以从容器中的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:25501] [WARN   ] [o.e.b.ElasticsearchUncaughtExceptionHandler] [644FE5A1B514]未被捕获   线程中的异常[main]   org.elasticsearch.bootstrap.StartupException:   java.lang.IllegalStateException:无法访问'path.data'   (C:\ LOG \ elasticsearch \数据)           在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 \数据)           在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]           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]           在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

2 个答案:

答案 0 :(得分:3)

我找到了here的解释。

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

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

答案 1 :(得分:0)

您是否曾尝试使用memory options

之一明确指定更大量的内存