도커의 모험: 컨테이너화로의 여정
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- 초보 개발자 및 컨테이너화 도입 고민 중인 프로젝트 팀
- Docker와 PostgreSQL 연동에 관심 있는 개발자
- Spring Boot와 데이터베이스 설정 경험이 필요한 중급자
핵심 요약
- Docker 도입으로 XAMPP 의존도 해소
docker run --name container_name -e POSTGRES_PASSWORD=mypassword -p 5432:5432 -d postgres
- PostgreSQL의 주요 장점
- 복잡한 데이터 타입 지원 (JSON, XML, UUID 등), SQL 표준 준수, 모듈화된 확장성
- Spring Boot와 연동 시 설정 요소
application.yml
파일에서jdbc:postgresql://
URL 및PostgreSQLDialect
지정 필수
섹션별 세부 요약
1. 도커 설치 및 WSL 2 활용
- Windows 환경에서 Docker 사용을 위해 WSL 2 설치 필수
- WSL 2는 Docker Desktop과 호환성 테스트 완료된 환경
- Microsoft 공식 문서 참조 권장
2. PostgreSQL 도입 동기 및 MySQL 대비 우위
- MySQL 대비 PostgreSQL의 핵심 차이점
- UUID 네이티브 지원 (MySQL은 플러그인 필요)
- 대규모 데이터 처리 성능 우수 (Benchmark 결과 기반)
- SQL 표준 준수 및 확장성 (함수, 오퍼레이터 추가 가능)
- 현대 Full-Stack 튜토리얼에서 PostgreSQL 사용 증가
3. Spring Boot 연동 설정 과정
- application.yml 파일 구성
url: jdbc:postgresql://localhost:5432/postgres
database-platform: org.hibernate.dialect.PostgreSQLDialect
- 기본 application.properties 파일과의 충돌 해결
system.properties
로 파일명 변경 후 YAML 파일 사용
4. 데이터베이스 생성 및 확인
- PostgreSQL 컨테이너 내 데이터베이스 생성 명령
docker exec -it (container_id) psql -U postgres
CREATE DATABASE my_database;
- 데이터베이스 존재 여부 확인 명령
\l
(리스트 확인),\dt
(테이블 확인)
결론
- Dockerfile 작성으로 이미지 자동화를 추천 (현재 수동 설정으로 인한 개발 시간 낭비)
- PostgreSQL과 Spring Boot 연동 시
application.yml
설정과 데이터베이스 생성 단계 필수 - YouTube 튜토리얼 및 Microsoft 문서 참조로 설치 및 설정 편의성 확보