공유된 따라하기 · Docker
Docker 로 팀 공용 PostgreSQL 개발 DB 만들기
대상
docker run,docker ps,docker exec명령은 알고, 팀원들이 함께 쓸 개발용 PostgreSQL 을 Docker 로 올리고 싶은 분목표 Docker 컨테이너로 PostgreSQL 을 기동하고,
ncafe사용자로ncafedb에 접속해 테이블을 만들 수 있는 환경을 만듭니다완성물 Docker 호스트 IP 로 접속 가능한 PostgreSQL 컨테이너,
ncafe사용자,ncafedb데이터베이스,public스키마의products테이블
준비물
- Docker Desktop (Windows/Mac) 또는 Docker 가 설치된 리눅스 호스트
- 로컬 개발용이라면 아무 준비물 없음
- 운영서버용이라면: newlecture.com 클라우드 서버에 Docker 가 설치되어 있어야 함. 중요: 운영서버에 올릴 때는 포트 번호가 기존 서비스와 충돌하지 않도록 할당된 포트 번호를 뉴렉쌤에게 먼저 안내받아 사용해야 합니다. 이 글에서는 예시로
5432포트를 사용하지만, 운영서버라면 안내받은 포트로 치환하세요.
STEP 1 / 10환경 확인 및 포트 번호 결정
0개 완료 · 10개 남음
로컬 개발용이든 운영서버용이든 Docker 로 PostgreSQL 을 올리는 방식은 동일합니다. 다만 운영서버는 네트워크 환경이 다르므로 포트 충돌을 방지하기 위해 사전에 할당된 포트를 확인해야 합니다.
1-1. Docker 실행 상태 확인
터미널에서 Docker 가 정상적으로 실행 중인지 확인합니다.
docker info
1-2. 포트 번호 결정
- 로컬 개발용:
5432(PostgreSQL 기본 포트) - 운영서버용: 뉴렉쌤에게 안내받은 포트 번호를 사용하세요. (예:
5433,6432등)
이 단계에서는 예시로
5432를 사용합니다. 운영서버라면 아래 명령의5432:5432부분을안내받은포트:5432로 치환하세요.참고:
5432:5432형식은호스트포트:컨테이너포트를 의미하며, 이는 일종의 포트 포워딩(포트 매핑)입니다.- 앞의 숫자 (호스트 포트): 외부(호스트)에서 접근할 때 사용하는 포트입니다.
- 뒤의 숫자 (컨테이너 포트): 컨테이너 내부에서 PostgreSQL 이 실제로 경청(LISTEN)하는 포트입니다.
따라서
5432:5432는 "호스트의 5432 포트로 들어오는 요청을 컨테이너 내부의 5432 포트로 전달한다"는 뜻입니다.✅ 확인
docker info명령이 에러 없이 출력됩니다.- 사용할 포트 번호가 결정되었습니다.
🎓 newlec 쌤의 코멘트
Docker 컨테이너는 격리된 환경이지만, 네트워크는 호스트와 연결됩니다.
5432:5432는 "호스트의 5432 포트를 컨테이너의 5432 포트에 연결"한다는 뜻입니다. 운영서버에는 이미 다른 서비스들이 포트들을 차지하고 있을 수 있으므로, 무작정 기본 포트를 쓰면 충돌이 납니다. 그래서 운영서버에는 반드시 사전에 할당된 포트를 받아서 사용해야 합니다. 로컬에서는5432가 가장 편합니다.❌ 자주 하는 실수
증상 원인 해결 Cannot connect to the Docker daemonDocker Desktop 이 꺼져 있음 Docker Desktop 을 시작하고 docker info재실행운영서버에서 포트 충돌 에러 기본 포트 5432를 사용함뉴렉쌤에게 할당된 포트를 확인하고 docker run명령의 포트 부분을 치환📝 이 단계의 핵심
- 로컬과 운영서버의 Docker 설치 방식은 동일합니다.
- 운영서버는 포트 충돌 방지를 위해 사전에 할당된 포트를 사용해야 합니다.
- 로컬 개발용:
이 주소는 글의 저작자가 공개한 링크입니다. 뉴렉처 스터디의 다른 자료는 로그인 후 볼 수 있어요.