사용자 정의 elasticsearch 이미지를 만들기 위해 Dockerfile에서 방금 생성 된 폴더 persimisions를 변경하려고합니다.dockerfile에서 docker 폴더 chowning
일단 이미지를 가져오고 elasticsearch가 작동하면 폴더 권한이 변경되지 않는 이유를 알 수 없습니다.
backup
폴더를 /usr/share/elasticsearch
아래에 만들려고합니다.
COPY ./backup.sh .
RUN ["chmod", "+x", "./backup.sh"]
CMD ["./backup.sh"]
backup.sh
파일 내용은 다음과 같습니다 :이 만들어 일단 내가 권한 변경
mkdir backup
chown -R elasticsearch:elasticsearch ./backup
backup
폴더가 /usr/share/elasticsearch
에서 만들어집니다, 그럼에도 불구하고, 그 권한은 그대로 유지 :
#docker exec -it es ls -la /usr/share/elasticsearch
drwxr-xr-x. 1 root root 4096 Jan 16 12:11 .
drwxr-xr-x. 1 root root 4096 Aug 31 17:30 ..
drwxr-xr-x. 2 >>>>root<<<< >>>>root<<<< 4096 Jan 16 12:03 backup <<<<<<<<<<<<<<<<<
-rwxr-xr-x. 1 root root 58 Jan 16 12:02 backup.sh
drwxr-xr-x. 2 root root 4096 Jan 16 12:11 bin
drwxr-xr-x. 3 elasticsearch elasticsearch 4096 Jan 16 12:11 config
drwxr-xr-x. 3 elasticsearch elasticsearch 4096 Jan 16 12:11 data
drwxr-xr-x. 2 root root 4096 Jan 16 12:11 lib
drwxr-xr-x. 2 elasticsearch elasticsearch 4096 Aug 31 17:30 logs
drwxr-xr-x. 5 root root 4096 Jan 16 12:11 modules
drwxr-xr-x. 2 elasticsearch elasticsearch 4096 Aug 29 09:24 plugins
어떤 아이디어 ?
편집
Dockerfile :
FROM elasticsearch:2.4
COPY ./backup.sh .
RUN ["chmod", "+x", "./backup.sh"]
CMD ["./backup.sh"]
VOLUME /usr/share/elasticsearch/backup
backup.sh : 그냥에서 생각이있어
mkdir backup
chown -R elasticsearch:elasticsearch ./backup
EDIT2. 이 시도했습니다 I
WORKDIR /usr/share/elasticsearch
RUN set -ex \
&& for path in \
./data \
./logs \
./config \
./config/scripts \
; do \
mkdir -p "$path"; \
chown -R elasticsearch:elasticsearch "$path"; \
done
VOLUME /usr/share/elasticsearch/data
: 그러나
WORKDIR /usr/share/elasticsearch
RUN set -ex \
&& for path in \
./backup \
; do \
mkdir -p "$path"; \
chown -R elasticsearch:elasticsearch "$path"; \
done
VOLUME /usr/share/elasticsearch/backup
을 backup
이 root:root
대신 elasticsearch:elasticsearch
의에 할당됩니다
#docker exec -it es ls -la /usr/share/elasticsearch
drwxr-xr-x. 10 root root 4096 Jan 17 08:02 .
drwxr-xr-x. 51 root root 4096 Aug 31 17:30 ..
drwxr-xr-x. 2 root root 4096 Jan 17 08:06 backup <<<<<<<<<<<<
drwxr-xr-x. 2 root root 4096 Jan 17 08:08 bin
drwxr-xr-x. 3 elasticsearch elasticsearch 4096 Jan 17 08:08 config
drwxr-xr-x. 3 elasticsearch elasticsearch 4096 Jan 17 08:08 data
drwxr-xr-x. 2 root root 4096 Jan 17 08:08 lib
drwxr-xr-x. 2 elasticsearch elasticsearch 4096 Aug 31 17:30 logs
drwxr-xr-x. 5 root root 4096 Jan 17 08:08 modules
drwxr-xr-x. 2 elasticsearch elasticsearch 4096 Aug 29 09:24 plugins
문제를 재현 할 수있는 샘플 Dockerfile + context를 제공 할 수 있습니까? – minamijoyo
방금 Dokcerfile 및 backup.sh 파일을 모두 추가했습니다. – Jordi