Tôi đang cố gắng chạy ngăn xếp ELK bằng Docker. Tôi đã tìm thấy docker-elk đã thiết lập cấu hình cho tôi, sử dụng docker-compose
.Làm thế nào để gắn kết thư mục lưu trữ có thể ghi container?
Tôi muốn lưu trữ dữ liệu elasticsearch trên máy chủ thay vì vùng chứa. Theo README Docker-nai sừng tấm, tôi bổ sung thêm một volumes
dòng để elasticsearch
's phần của docker-compose.yml
:
elasticsearch:
image: elasticsearch:latest
command: elasticsearch -Des.network.host=0.0.0.0
ports:
- "9200"
- "9300"
volumes:
- ../../env/elasticsearch:/usr/share/elasticsearch/data
Tuy nhiên, khi tôi chạy docker-compose up
tôi nhận được:
$ docker-compose up
Starting dev_elasticsearch_1
Starting dev_logstash_1
Starting dev_kibana_1
Attaching to dev_elasticsearch_1, dev_logstash_1, dev_kibana_1
kibana_1 | Stalling for Elasticsearch
elasticsearch_1 | [2016-03-09 00:23:35,193][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.data' (/usr/share/elasticsearch/data/elasticsearch)
elasticsearch_1 | Likely root cause: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/elasticsearch
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)
... etc ...
Nhìn trong ../../env
, thư mục elasticsearch
thực sự đã được tạo ra, nhưng nó trống rỗng. Nếu tôi tạo ../../env/elasticsearch/elasticsearch
thì tôi gặp lỗi truy cập cho /usr/share/elasticsearch/data/elasticsearch/nodes
. Nếu tôi tạo /nodes
thì tôi gặp lỗi cho /nodes/0
, v.v ...
Tóm lại, dường như vùng chứa không có quyền ghi vào thư mục.
Tôi làm cách nào để có quyền ghi? Tôi đã thử chmod a+wx ../../env/elasticsearch
, và sau đó nó quản lý để tạo ra các thư mục tiếp theo, nhưng thư mục đó có sự cho phép drwxr-xr-x
và nó bị mắc kẹt một lần nữa.
Tôi không thích ý tưởng chạy ứng dụng này dưới dạng thư mục gốc.
là gì '? – kojiro
@kojiro: Tôi nhận được 'UNKNOWN staff' – Claudiu