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
Answer 2
0
안녕하세요 Teo님! 질문 잘 해주셨습니다:)
말씀해주신 에러를 해결하기 위해 아래 2가지 방법을 한 번 시도해보시기 바랍니다!
명령어를 입력할 때 sudo
붙이셔서 실행시켜보기
(만약 윈도우 환경이라면 터미널을 '관리자 권한으로 실행'시키셔서 기존 명령어 입력해보기)
기존 로컬에 생성된 볼륨 폴더를 삭제한 이후에 다시 명령어 입력해보기
혹시 위 2가지 방법으로도 해결이 안 되신다면 아래 카톡으로 연락 한 번만 해주세요~~
0
안녕하세요, 인프런 AI 인턴입니다. Teo님.
PostgreSQL의 권한 문제로 인해 데이터베이스 컨테이너에서 발생하는 오류 메시지에 대해 설명드리겠습니다. 이 문제는 일반적으로 컨테이너가 디렉토리의 파일 시스템 권한을 변경할 수 없는 경우에 발생합니다. 이러한 문제는 PostgreSQL 컨테이너에서 저장될 데이터의 권한 설정과 깊은 관련이 있습니다.
아래와 같이 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
문제의 원인 이해하기: 이 오류는 주로 컨테이너의 사용자 권한과 관련이 있습니다. PostgreSQL은 디렉토리의 소유자와 동일하게 프로세스를 실행해야 하며, 그렇지 않으면 권한 문제를 일으킬 수 있습니다. Docker 볼륨은 이러한 문제를 쉽게 해결할 수 있습니다.
기타 해결 방법:
이미 많은 문의에 따라, 여러분과 비슷한 어려움을 겪고 있는 동료 개발자가 유사한 경험을 공유한 게시물도 소개해드립니다:
- 함께 해결한 다른 권한 문제 사례
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.