postgresql, pgvector, pgadmin4 with docker-compose
docker-compsoe를 활용한 postgresql, pgvector, pgadmin 설치
Dockerdocker-composepostgresqlpgvectorpgadmin
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
: 프로세스 종료
