[Elasticsearch] Docker Compose 실행 시 permission denied
Elastic/Elasticsearch 2020. 4. 7. 15:54docker compose 실행 시 permission denied 에러 경험을 하실 수 있습니다.
아래와 같은 방법으로 문제를 해결 할 수 있으니 환경에 맞게 적용 해 보면 좋을 것 같습니다.
docker-compose.yml)
volumes:
- /elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
- /elasticsearch/data:/usr/share/elasticsearch/data:rw
- /elasticsearch/logs:/usr/share/elasticsearch/logs:rw
Case 1)
$ chmod 777 /elasticsearch/data
$ chmod 777 /elasticsearch/logs
Case 2)
- docker-compose.yml 안에 uid, gid 를 설정
user: "1002:0" # uid 는 host user 로 설정, gid 는 container group 으로 설정
Elasticsearch 의 경우 docker 로 구성 하시면 Container 내부에서 1000:0 으로 실행 됩니다.
즉, uid 1000(elasticsearch), gid 0(root) 가 됩니다.
그래서 bind mount 의 경우 host 에서의 권한과 container 에서의 권한을 잘 맞춰 주셔야 합니다.
$ id -u username
$ id -g username
$ docker exec -it container-name /bin/bash
그럼 즐거운 Elastic 되세요.