postgresql, pgvector, pgadmin4 with docker-compose

docker-compsoe를 활용한 postgresql, pgvector, pgadmin 설치
Dockerdocker-composepostgresqlpgvectorpgadmin
avatar
2025.04.27
·
2 min read

services:
  postgres:
    image: pgvector/pgvector:pg17 # pgvector Extension이 설치된 postgresql 17버전
    container_name: {CONTAINER_NAME}
    environment:
      POSTGRES_PASSWORD: {DB접속을 위한 PASSWORD}
      POSTGRES_USER: {DB접속을 위한 USER}
      POSTGRES_DB: {처음 생성할 때의 DB명}
    ports:
      - "5432:5432" # 포트포워딩
    volumes:
      - pgdata:/var/lib/postgresql/data # db 데이터 저장

  pgadmin:
    image: dpage/pgadmin4 # pgadmin 4
    container_name: pgadmin
    environment:
      PGADMIN_DEFAULT_EMAIL: {pgadmin 로그인을 위한 EMAIL}
      PGADMIN_DEFAULT_PASSWORD: {pgadmin 로그인을 위한 PASSWORD}
    ports:
      - "5050:80" # 포트포워딩
    depends_on:
      - postgres # services: 목록 중 postgres가 실행되면 동작 하도록
    volumes:
      - pgadmin_data:/var/lib/pgadmin # db 접속 정보 저장

volumes:
  pgdata:
  pgadmin_data:

SpringBoot를 기준으로 /resources 경로에 docker-compose.yml 을 둔다.

/* Docker-Compose */
implementation 'org.springframework.boot:spring-boot-docker-compose'

해당 의존성을 추가하면 서버 시작 전 컨테이너를 먼저 띄어주고 종료 시 컨테이너를 지워준다.

spring:
  docker:
    compose:
      file: docker-compose.yml
      enabled: true

수동으로 하고 싶다면 enabled: false로 지정하고 아래 명령어를 사용한다.

docker-compose up -d : 백그라운드에서 프로세스 실행

docker-compose down: 프로세스 종료

5616






- 컬렉션 아티클