프로젝트
📌 Docker PostgreSQL과 로컬 Django 연동 문제 해결 과정 정리 1/2
Chansman
2025. 6. 11. 12:52
🚦 1️⃣ 모든 컨테이너 & 볼륨 완전 정리 (optional, 강력 추천)
👉 이미 떠 있는 컨테이너/네트워크/볼륨이 꼬여 있다면 깨끗이 정리!
docker-compose down --volumes --remove-orphans
docker system prune -af
- 모든 컨테이너/네트워크/이미지/볼륨 다 정리됨
- 정말 데이터 다 날려도 되는지 확인 후 실행!
🚦 2️⃣ Docker 이미지 다시 빌드
docker-compose build --no-cache
- --no-cache: 도커 이미지를 새로 빌드(캐시 전혀 안 씀)
🚦 3️⃣ 필요한 서비스(my-db 등)만 up
docker-compose up -d my-db
- DB만 먼저 켜서 연결부터 테스트!
🚦 4️⃣ DB가 정상적으로 켜졌는지 로그/상태 확인
docker ps
docker-compose logs my-db
- **STATUS가 Up (healthy)**면 OK!
🚦 5️⃣ 로컬에서 DB 연결 테스트
a. psql 명령으로 직접 접속
psql -U postgres -d django-postgres -h localhost -p 5432
- 접속 성공 시 → 도커 my-db가 잘 열렸다는 뜻!
b. DB tool(TablePlus, DBeaver, PgAdmin 등)에서도 동일하게 테스트 가능
- host: localhost
- port: 5432
- user: postgres
- password: qwe123
- dbname: django-postgres
🚦 6️⃣ 로컬 Django에서 DB 연결 테스트 (migrate 실행)
(가상환경 활성화 → 프로젝트 폴더 이동 후)
python manage.py migrate --settings=config.settings.dev
- 정상적으로 테이블이 생성/마이그레이션 된다면 DB 완벽하게 연결된 것!
🚦 7️⃣ 이제 개발/운영 준비 완료!
- runserver/createsuperuser 등 모두 가능
✅ 이 흐름만 지키면 데이터 꼬임, 연결 문제, 캐시 꼬임 99% 해결!
⚡️ 정리 (명령어 순서)
docker-compose down --volumes --remove-orphans
docker system prune -af
docker-compose build --no-cache
docker-compose up -d my-db
docker ps
docker-compose logs my-db
psql -U postgres -d django-postgres -h localhost -p 5432
python manage.py migrate --settings=config.settings.dev