2017-05-04 2 views
0

Ich versuche Elasticsearch (5.3.0) in einem Docker-Container wie folgt auszuführen:Docker + Elasticsearch: Zugriff verweigert wird, wenn die Protokolldatei zu erstellen

docker run 
--network=host 
--publish 9203:9200 
--publish 9300:9300 
--env ES_JAVA_OPTS="-Xms4g -Xmx4g" 
--env "bootstrap.memory_lock=true" 
--cap-add=IPC_LOCK 
--ulimit memlock=-1:-1 --ulimit nofile=65536:65536 
--volume /etc/elasticsearch/ip-spotlight.elasticsearch.RR6.yml:/usr/share/elasticsearch/config/elasticsearch.yml 
--volume /usr/ip-spotlight/elasticsearch/RR6:/usr/share/elasticsearch/data 
--volume /var/log/elasticsearch:/usr/share/elasticsearch/logs 
--label app="ip-spotlight" 
--label service="elasticsearch" 
--label func="RR6" 
--name "ip-spotlight.elasticsearch.RR6" 
docker.elastic.co/elasticsearch/elasticsearch:5.3.2 

SElinux deaktiviert ist (sein, um ganz sicher):

# getenforce 
Disabled 

Und um hier ganz sicher zu sein, sind die Berechtigungen von /var/log/elasticsearch:

# ls -salt /var/log/elasticsearch/ 
total 8 
4 drwxrwxrwx. 2 elasticsearch elasticsearch 4096 May 4 15:12 . 

# cat /etc/*release* 
CentOS Linux release 7.3.1611 (Core) 
Derived from Red Hat Enterprise Linux 7.3 (Source) 
NAME="CentOS Linux" 
VERSION="7 (Core)" 
ID="centos" 
ID_LIKE="rhel fedora" 
VERSION_ID="7" 
PRETTY_NAME="CentOS Linux 7 (Core)" 
ANSI_COLOR="0;31" 
CPE_NAME="cpe:/o:centos:centos:7" 
HOME_URL="https://www.centos.org/" 
BUG_REPORT_URL="https://bugs.centos.org/" 

CENTOS_MANTISBT_PROJECT="CentOS-7" 
CENTOS_MANTISBT_PROJECT_VERSION="7" 
REDHAT_SUPPORT_PRODUCT="centos" 
REDHAT_SUPPORT_PRODUCT_VERSION="7" 

CentOS Linux release 7.3.1611 (Core) 
CentOS Linux release 7.3.1611 (Core) 
cpe:/o:centos:centos:7 

Und die Fehlermeldung angezeigt bekommen ist:

2017-05-04 13:10:24,621 main ERROR Unable to create file /var/log/elasticsearch/ip-spotlight.elasticsearch.RR6_access.log java.io.IOException: No such file or directory 

EDIT: Hinzufügen der Protokolldatei

# touch /var/log/elasticsearch/ip-spotlight.elasticsearch.RR6_access.log 
# chmod 777 /var/log/elasticsearch/ip-spotlight.elasticsearch.RR6_access.log 
# docker run --network=host --publish 9203:9200 --publish 9300:9300 --env ES_JAVA_OPTS="-Xms4g -Xmx4g" --env "bootstrap.memory_lock=true" --cap-add=IPC_LOCK --ulimit memlock=-1:-1 --ulimit nofile=65536:65536 --volume /etc/elasticsearch/ip-spotlight.elasticsearch.RR6.yml:/usr/share/elasticsearch/config/elasticsearch.yml --volume /usr/ip-spotlight/elasticsearch/RR6:/usr/share/elasticsearch/data --volume /var/log/elasticsearch:/usr/share/elasticsearch/logs --label app="ip-spotlight" --label service="elasticsearch" --label func="RR6" --name "ip-spotlight.elasticsearch.RR6" docker.elastic.co/elasticsearch/elasticsearch:5.3.2 
2017-05-04 13:10:24,621 main ERROR Unable to create file /var/log/elasticsearch/ip-spotlight.elasticsearch.RR6_access.log java.io.IOException: No such file or directory 

manuell bearbeiten: offizielle Dokumentationen sagt The container runs Elasticsearch as user elasticsearch using uid:gid 1000:1000. Bind mounted host directories and files, such as custom_elasticsearch.yml above, need to be accessible by this user. aber auf dem Server, nachdem auch Elasticsearch als Service, den ich installiert sehen, dass:

$ id elasticsearch 
uid=990(elasticsearch) gid=988(elasticsearch) groups=988(elasticsearch) 

Bitte beachten Sie, dass ich habe chmod 777 in allen dazugehörigen Dateien und Regisseur ies. Könnten Sie bitte beraten, wie dies zu lösen ist?

Antwort

0

Während Sie Ihren docker run-Befehl ausführen, geben Sie den Namen ip-spotlight.elasticsearch.RR6 an, der nicht im Verzeichnis/var/log/xxx vorhanden ist. Stellen Sie sicher, dass Sie über eine zugängliche oder gültige Protokolldatei verfügen .

+0

Danke @mano Ich habe gerade meinen ursprünglichen Post bearbeitet, könntest du bitte überprüfen und mir sagen, ob du etwas anderes meintest? – iamsterdam

+0

@NikosSkalis dies ist ein mount-Problem, stellen Sie bitte sicher, dass Sie es richtig montiert haben – mano

+0

Bitte beachten Sie die 2. Bearbeitung, eine Idee, wie Sie das überwinden? – iamsterdam

Verwandte Themen