是否有人在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
答案 0 :(得分:3)
我找到了here的解释。
我在一个问题上发布了一个解决方案,我提出的问题与此问题相同here
此外,我发布了一个Dockerfile,其中包含Github的解决方法:https://github.com/SharpSeeEr/Dockerfiles
答案 1 :(得分:0)
您是否曾尝试使用memory options?
之一明确指定更大量的内存