Ich versuche, einen ELK-Stack mit Docker auszuführen. Ich habe docker-elk gefunden, die bereits die Konfiguration für mich eingerichtet hat, mit docker-compose
.Wie wird ein Container-beschreibbares Host-Verzeichnis gemountet?
Ich möchte die Elasticsearch Daten auf dem Host-Rechner statt einem Container speichern. Wie pro Docker-Elch README, fügte ich einen volumes
Linie elasticsearch
‚s Abschnitt 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
Allerdings, wenn ich docker-compose up
laufen erhalte ich:
$ 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 ...
in ../../env
Sehen, das elasticsearch
Verzeichnis wurde zwar erstellt, aber es war leer. Wenn ich ../../env/elasticsearch/elasticsearch
erstelle, erhalte ich einen Zugriffsfehler für /usr/share/elasticsearch/data/elasticsearch/nodes
. Wenn ich /nodes
erstelle, bekomme ich einen Fehler für /nodes/0
, etc ...
Kurz gesagt, es scheint, dass der Container keine Schreibrechte für das Verzeichnis hat.
Wie erhalte ich Schreibrechte? Ich habe versucht chmod a+wx ../../env/elasticsearch
, und dann schafft es, das nächste Verzeichnis zu erstellen, aber dieses Verzeichnis hat die Berechtigung drwxr-xr-x
und es wird wieder stecken.
Ich mag nicht die Idee, dies als root ausführen zu müssen.
Was die Ausgabe von 'Docker-compose ist '? – kojiro
@kojiro: Ich bekomme 'UNKNOWN Personal' – Claudiu