📌 Docker PostgreSQL과 로컬 Django 연동 문제 해결 과정 정리
1️⃣ 문제 상황
- 로컬 Django와 Docker PostgreSQL 간 데이터 연동 불가
- psql 접속 시 connection refused 발생
- Docker 컨테이너 내부 PostgreSQL은 실행 중이나 외부 접속 불가
2️⃣ 원인 분석
- PostgreSQL 설정파일(pg_hba.conf)에서 외부 접속 제한
- listen_addresses는 '*'로 설정되어 있지만, 인증 정책이 접속을 막음
3️⃣ 해결 과정
3-1. pg_hba.conf 수정
- 도커 컨테이너 내 경로: /var/lib/postgresql/data/pg_hba.conf
- 편집기 설치 후 수정 (nano 권장)
apt update && apt install nano -y
nano /var/lib/postgresql/data/pg_hba.conf
- 파일 맨 아래에 다음 줄 추가 또는 기존 마지막 줄 교체
host all all 0.0.0.0/0 md5
3-2. PostgreSQL 재시작
docker restart postgres
4️⃣ 접속 및 확인
- 로컬에서 PostgreSQL 접속 확인
psql -U postgres -d django-postgres -h localhost -p 5432
- 접속 성공 시 테이블 목록 확인
\dt
5️⃣ Django 마이그레이션 및 연동
- 마이그레이션 파일 생성
python manage.py makemigrations --settings=config.settings.dev
- 마이그레이션 적용
python manage.py migrate --settings=config.settings.dev
- 정상 테이블 생성 및 DB 연동 완료 확인
6️⃣ 결과
- 도커 PostgreSQL과 로컬 Django 정상 연동
- 데이터 공유 및 조회 가능
- Django 서버 및 관리자 페이지 정상 동작
7️⃣ 추가 팁
- 로컬 PostgreSQL 사용 중이라면 서비스 종료 권장
- docker exec -it postgres bash로 컨테이너 내부 진입 가능
- psql은 DB 접속용 CLI, 마이그레이션은 Django 명령어임
'프로젝트' 카테고리의 다른 글
🚀 Django 프로젝트 GitHub Actions CI/CD 구축 시 문제 해결기 (with PostgreSQL, Redis) (0) | 2025.06.11 |
---|---|
Django 프로젝트 명령어 정리 (1) | 2025.06.11 |
📌 Docker PostgreSQL과 로컬 Django 연동 문제 해결 과정 정리 1/2 (0) | 2025.06.11 |
ChatGPT Connection Error "Something went wrong," Global Users Experiencing Outage 📝 What's Happening? (0) | 2025.06.10 |
📚 Django 이메일 인증 기능 추가 (SMTP, 인증 토큰 발송) (10) (0) | 2025.06.10 |