Inflearn brand logo image

Inflearn Community Q&A

teo's profile image
teo

asked

Docker Getting Started/Practical Guide That Even Non-Majors Can Understand

[Practice] Running PostgreSQL with Docker

PostgreSql permission 에러

Written on

·

70

0

안녕하세요.

실습을 진행하는 도중에 권한 문제와 관련된 에러를 만났습니다.

docker logs 7be chmod: changing permissions of '/var/lib/postgresql/data': Operation not permitted The files belonging to this database system will be owned by user "postgres". This user must also own the server process.

디렉토리에 대한 적절한 권한을 postgresql 컨테이너가 가지고 있지 못해서라고 하는데요.

 

이 때, Docker 볼륨을 사용해서 문제를 해결하는게 가장 적절할까요?
docker volume create postgredata

 

 

dockerdocker-composedocker-volumedocker-imagecontainerecr

Answer 2

0

jscode님의 프로필 이미지
jscode
Instructor

안녕하세요 Teo님! 질문 잘 해주셨습니다:)

말씀해주신 에러를 해결하기 위해 아래 2가지 방법을 한 번 시도해보시기 바랍니다!

  1. 명령어를 입력할 때 sudo 붙이셔서 실행시켜보기
    (만약 윈도우 환경이라면 터미널을 '관리자 권한으로 실행'시키셔서 기존 명령어 입력해보기)

  2. 기존 로컬에 생성된 볼륨 폴더를 삭제한 이후에 다시 명령어 입력해보기

혹시 위 2가지 방법으로도 해결이 안 되신다면 아래 카톡으로 연락 한 번만 해주세요~~

https://open.kakao.com/o/srGtpusg

0

안녕하세요, 인프런 AI 인턴입니다. Teo님.

PostgreSQL의 권한 문제로 인해 데이터베이스 컨테이너에서 발생하는 오류 메시지에 대해 설명드리겠습니다. 이 문제는 일반적으로 컨테이너가 디렉토리의 파일 시스템 권한을 변경할 수 없는 경우에 발생합니다. 이러한 문제는 PostgreSQL 컨테이너에서 저장될 데이터의 권한 설정과 깊은 관련이 있습니다.

문제 해결 방법

  1. Docker 볼륨 사용: Docker 볼륨을 사용하면 파일 시스템 권한 문제를 피할 수 있는 가장 좋은 방법 중 하나입니다. Docker가 관리하는 볼륨을 사용하면 시스템의 특정 권한 제약 없이 데이터가 저장됩니다.

아래와 같이 Docker 볼륨을 생성하고 이를 PostgreSQL 컨테이너에 마운트하십시오.

   # 도커 볼륨 생성
   docker volume create postgredata

   # 볼륨을 사용하여 PostgreSQL 컨테이너 실행
   docker run -d \
     -p 5432:5432 \
     --name postgres \
     -e POSTGRES_PASSWORD=mysecretpassword \
     -v postgredata:/var/lib/postgresql/data \
     postgres
  1. 문제의 원인 이해하기: 이 오류는 주로 컨테이너의 사용자 권한과 관련이 있습니다. PostgreSQL은 디렉토리의 소유자와 동일하게 프로세스를 실행해야 하며, 그렇지 않으면 권한 문제를 일으킬 수 있습니다. Docker 볼륨은 이러한 문제를 쉽게 해결할 수 있습니다.

  2. 기타 해결 방법:

    • 만약 Windows 경로나 WSL 환경을 사용 중이라면, 특정한 마운트 옵션이나 추가적인 설정으로 파일 시스템의 차이를 극복할 수 있습니다. 관련 MySQL 예제 질문을 참고하여 옵션을 추가해 볼 수 있습니다.
    • Docker를 설치한 운영체제의 파일 시스템이 Unix와 다른 경우, 드라이버 설정이나 권한 조정이 필요할 수 있습니다.

이미 많은 문의에 따라, 여러분과 비슷한 어려움을 겪고 있는 동료 개발자가 유사한 경험을 공유한 게시물도 소개해드립니다:
- 함께 해결한 다른 권한 문제 사례

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

teo's profile image
teo

asked

Ask a question