작성
·
565
0
docker-compose up을 사용하면
initdb: error: directory "/var/lib/postgresql/data" exists but is not empty
initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". 라는 오류가 자꾸 발생합니다. 삭제하고 다시 해도 해결이 안되서 질문남깁니다. 어떻게 해결해야하나요.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
진용님, docker-compose를 사용하여 PostgreSQL 데이터베이스를 초기화할 때 발생하는 오류에 대해 질문해 주셨습니다. 오류 메시지는 “/var/lib/postgresql/data” 디렉토리가 존재하지만 비어 있지 않다는 것을 알려줍니다. PostgreSQL의 initdb
코드는 이 디렉토리가 비어 있거나 존재하지 않아야 새 데이터베이스 클러스터를 만들 수 있습니다.
기존 답변들을 살펴본 결과, 다음과 같은 관련 답변을 찾았습니다:
postgres 에러 문의
에서는 비슷한 문제에 대한 답변이 제공되었습니다. 도커 데이터 볼륨이 초기화되지 않아 발생하는 오류에 대한 설명과 해결 방법을 제안하고 있습니다. 도커 데스크탑에서 기존 볼륨을 삭제하고 postgres:14.1-alpine
과 같은 다른 이미지를 사용해 보는 방법을 제시하고 있습니다.
docker-compose up 명령어 날리면 에러 발생
이 답변은 docker-compose 실행시 발생하는 오류에 관한 질문에 대한 답변으로, 경로 문제에 대한 해결 방안을 제공합니다. 디렉토리 위치가 올바른지 확인하고, 다시 시도하라는 조언이 포함되어 있습니다.
docker-compose up 실행 시, mysql Error 발생 건
이 링크도 유사한 문제, 즉 Docker 컨테이너를 시작할 때 발생하는 데이터 볼륨 관련 문제를 다루고 있지만, 여기서는 MySQL에 초점을 맞추고 있습니다. 그럼에도 공유되는 데이터 볼륨 관련 문제와 도커 이미지 초기화에 관한 설명이 도움이 될 수 있습니다.
해당 문제를 해결하는데, 이미지를 다르게 사용하거나, Docker Desktop에서 데이터 볼륨을 삭제하는 방법, 프로젝트 루트 디렉토리에서의 docker-compose 명령어 실행 등을 시도해 볼 수 있습니다. 데이터 볼륨 폴더(/var/lib/postgresql/data
)를 비우거나, 이미 존재하는 데이터가 손실되는 것을 원하지 않는다면 백업을 먼저 수행하시기 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.