Docker Compose를 활용한 PostgreSQL 및 Adminer 로컬 개발 환경 설정 가이드

🤖 AI 추천

로컬 개발 환경에서 PostgreSQL 데이터베이스와 웹 기반 관리 도구인 Adminer를 Docker Compose를 사용하여 빠르고 간편하게 설정하고 싶은 백엔드 개발자 및 데이터베이스 관리자에게 유용합니다.

🔖 주요 키워드

Docker Compose를 활용한 PostgreSQL 및 Adminer 로컬 개발 환경 설정 가이드

핵심 기술

Docker Compose를 사용하여 PostgreSQL 데이터베이스와 Adminer 웹 관리 도구를 컨테이너화하여 로컬 개발 환경을 구축하는 방법을 안내합니다.

기술적 세부사항

  • Docker 및 Docker Compose 설치 필수: Windows, macOS, Linux 환경에서 동작합니다.
  • 프로젝트 폴더 생성: mkdir postgres-docker-setupcd postgres-docker-setup 명령어로 설정 파일 저장소를 만듭니다.
  • docker-compose.yml 파일 구성:
    • postgres 서비스:
      • image: postgres:17: PostgreSQL 17 버전을 사용합니다.
      • container_name: postgres: 컨테이너 이름을 'postgres'로 지정합니다.
      • restart: unless-stopped: 컨테이너가 중지되지 않는 한 재시작합니다.
      • ports: 호스트의 5432 포트를 컨테이너의 5432 포트로 매핑합니다.
      • volumes: postgres-data 볼륨을 사용하여 데이터 영속성을 확보합니다.
      • environment: PGPASSWORD, POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB 환경 변수를 설정합니다.
      • networks: postgres-network 네트워크에 연결합니다.
    • adminer 서비스:
      • image: adminer:5.2.1: Adminer 5.2.1 버전을 사용합니다.
      • container_name: adminer: 컨테이너 이름을 'adminer'로 지정합니다.
      • restart: unless-stopped: 컨테이너가 중지되지 않는 한 재시작합니다.
      • ports: 호스트의 8080 포트를 컨테이너의 8080 포트로 매핑합니다.
      • environment: ADMINER_DEFAULT_SERVER를 'postgres'로 설정하여 Adminer가 PostgreSQL에 연결하도록 합니다.
      • networks: postgres-network 네트워크에 연결합니다.
    • networks: postgres-network라는 브릿지 드라이버 네트워크를 정의합니다.
    • volumes: postgres-data라는 로컬 드라이버 볼륨을 정의하여 PostgreSQL 데이터를 저장합니다.
  • 컨테이너 실행: docker compose up -d 명령어로 백그라운드에서 컨테이너를 시작합니다.
  • Adminer 접속: 웹 브라우저에서 http://localhost:8080으로 접속하여 Adminer UI를 사용합니다.
    • 로그인 정보: System: PostgreSQL, Server: postgres, Username: admin, Password: admin, Database: mydb
  • 환경 종료: docker compose down 명령어로 컨테이너와 볼륨을 제거합니다.

개발 임팩트

이 가이드를 통해 개발자는 별도의 소프트웨어 설치 없이, 빠르고 격리된 환경에서 PostgreSQL 데이터베이스를 쉽게 사용할 수 있습니다. Adminer는 PostgreSQL의 데이터를 직관적으로 관리할 수 있는 편리한 인터페이스를 제공하여 개발 생산성을 향상시킵니다.

커뮤니티 반응

GitHub 링크(https://github.com/rafi021/postgresql-adminer-docker-compose)와 YouTube 링크(https://youtu.be/P1u-OtVz96c)가 제공되어, 해당 설정을 공유하고 추가적인 정보를 얻을 수 있습니다. 콘텐츠 말미에는 MongoDB, Redis, Elasticsearch 등 다른 데이터베이스에 대한 유사한 Docker 설정에 대한 사용자 의견을 묻고 있어 커뮤니티 참여를 유도합니다.

📚 관련 자료