본문 바로가기
개발/Docker&kubernetes

PostgreSql docker 실행 시 Data directory "/var/lib/postgresql/data" has invalid permissions 조치

by 궁즉변 변즉통 통즉구 2024. 11. 17.
반응형

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을 지정해서 해결하는 것도 하나의 방법이다.

 

반응형

댓글