개발/Docker&kubernetes
PostgreSql docker 실행 시 Data directory "/var/lib/postgresql/data" has invalid permissions 조치
궁즉변 변즉통 통즉구
2024. 11. 17. 09:39
반응형
docker compose로 postgresql를 띄워서 테스트 해볼 일이 생겨서 간단히 실행을 해봤는데 아래와 같은 디렉토리 permission 에러가 발생했다.
Data directory "/var/lib/postgresql/data" has invalid permissions
docker compose 파일은 아래와 같이 작성이 된 상태였다.
version: '3'
services:
postgres:
image: postgres
volumes:
- ./postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_DB: postgre
POSTGRES_USER: postgre
POSTGRES_PASSWORD: password
...
일반적으로 chmod, chown 등으로 디렉토리 설정을 하면 해결이 되었는데 이번에는 동일한 에러가 계속 발생을 했다. 계속 이부분에 신경을 쓸 수 없어서 아래와 같이 Named Volume으로 설정하여 해결했다.
version: '3'
volumes:
postgres_data:
driver: local
services:
postgres:
image: postgres
volumes:
- postgres_data:/var/lib/postgresql/data # volumn명 지정으로 변경
environment:
POSTGRES_DB: postgre
POSTGRES_USER: postgre
POSTGRES_PASSWORD: password
...
docker 실행 시 디렉토리에 대한 Permission이나 Ownership 문제 발생 시 별도 volume을 지정해서 해결하는 것도 하나의 방법이다.
반응형