我正在尝试使用docker compose来构建ELK架构。以下是合成文件:
version: '2'
services:
elasticsearch_assets:
image: elasticsearch
volumes:
- ./elasticsearch/config:/usr/share/elasticsearch/config
- ./elasticsearch/data:/usr/share/elasticsearch/data
- ./elasticsearch/logs:/usr/share/elasticsearch/logs
command: /bin/true
elasticsearch:
image: elasticsearch
volumes_from:
- elasticsearch_assets:rw
depends_on:
- elasticsearch_assets
下面是项目结构的截图:
当我运行docker-compose up
时,我得到以下错误:
Starting elkdocker_elasticsearch_assets_1
Starting elkdocker_elasticsearch_1
Attaching to elkdocker_elasticsearch_assets_1, elkdocker_elasticsearch_1
elkdocker_elasticsearch_assets_1 exited with code 0
elasticsearch_1 | [2016-03-22 01:28:59,939][WARN ][bootstrap ] unable to install syscall filter: seccomp unavailable: your kernel is buggy and you should upgrade
elasticsearch_1 | Exception in thread "main" java.lang.IllegalStateException: Unable to access 'path.scripts' (/usr/share/elasticsearch/config/scripts)
elasticsearch_1 | Likely root cause: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/config/scripts
elasticsearch_1 | at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
elasticsearch_1 | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
elasticsearch_1 | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
elasticsearch_1 | at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384)
elasticsearch_1 | at java.nio.file.Files.createDirectory(Files.java:674)
elasticsearch_1 | at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781)
elasticsearch_1 | at java.nio.file.Files.createDirectories(Files.java:767)
elasticsearch_1 | at org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:337)
elasticsearch_1 | at org.elasticsearch.bootstrap.Security.addPath(Security.java:314)
elasticsearch_1 | at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:248)
elasticsearch_1 | at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:212)
elasticsearch_1 | at org.elasticsearch.bootstrap.Security.configure(Security.java:118)
elasticsearch_1 | at org.elasticsearch.bootstrap.Bootstrap.setupSecurity(Bootstrap.java:196)
elasticsearch_1 | at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:167)
elasticsearch_1 | at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285)
elasticsearch_1 | at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
elasticsearch_1 | Refer to the log for complete error details.
elkdocker_elasticsearch_1 exited with code 1
你知道为什么吗?
发布于 2016-04-12 15:39:30
对于此错误,Unable to access 'path.scripts‘错误配置只需在文件夹下创建一个名为scripts的子文件夹
它将修复错误
./elasticsearch/config ==> mkdir./elasticsearch/config/scripts
发布于 2020-03-11 06:27:04
将docker compose更改为如下所示
-v /elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
而不是指向空目录
https://stackoverflow.com/questions/36144753
复制相似问题