도커

Docker compose 파일 작성 with PostgreSQL

muyeon 2023. 12. 14. 10:38

설치

 

도커 설치는 아래 링크에서 진행할 수 있다.

https://www.docker.com/products/docker-desktop/

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

 

설치 확인

docker --version

 

구글에 docker hub 검색

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Build and Ship any Application Anywhere Docker Hub is the world's easiest way to create, manage, and deliver your team's container applications. Create your account Signing up for Docker is fast and free. Continue with GoogleContinue with GitHubContinue wi

hub.docker.com

 

사용할 postgresql 검색

 

 

도커 허브는 이미지를 누구나 만들어서 올릴 수 있기 때문에 아무거나 사용하면 별로 좋지 않은 결과를 얻을 수 있다.

 

postgres 의 많은 버전중 15 버전을 사용한다.

 

프로젝트에 docker-compose.yaml 파일 생성

 

services:                        # 실행할 서비스를 정의
  postgres:                      # postgres 라는 서비스를 정의
    image: postgres:15           # postgres 이미지를 사용하는데 15버전을 사용
    restart: always              # 실행 할 때마다 재시작
    volumes:                     # 도커를 종료하면 그 이미지안에 존재했던 파일들이 날아갈 수 있다. 그래서 postgreSQL 안에다가 저장해놨던 데이터를 실제 Host OS 에 볼륨과 맵핑을 해준다.
      - ./postgres-data:/var/lib/postgresql/data      # : 을 기준으로 왼쪽은 host os의 위치 오른쪽은 이미지 안에 존재하는 위치
    ports:
      - "5432:5432"              # post에 5432 포트와 이미지 속에 5432 포트를 연결
    environment: 
      POSTGRES_USER: postgres    # 이미지를 사용할때 기본 사용자의 이름을 정의
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: postgres

 

실행

 

docker-compose up

up 은 실행 down 은 종료

 

아래 이미지처럼 되어야 한다.

 

도커를 계속 실행하고 있어야하고 docker-compose up 을 통해 데이터베이스를 실행하고 있어야 한다.

그래야만 postgreSQL 에 접근할 수 있다.

 

ctrl + c 를 통해 정지할 수 있다.

 


vsc 확장 프로그램 설치

 

확장 프로그램에 postgres 검색 PostgreSQL 의 다운로드 수가 가장 많은 Chris Kolkman 이 제작한 것을 다운로드

 

cmd + shift + p 

 

 

이를 실행하면 vscode 에서 데이터베이스를 볼 수 있다.

아래 단계를 따른다.

 

  1. hostname 입력
  2. 사용자 입력
  3. 비밀번호 입력
  4. 포트 입력
  5. 스탠다드 커넥션
  6. postgres 클릭
  7. 연결 이름 짓기 : nestjs_local_database (이는 자유)

하단에 postgres 아이콘이 생긴것을 확인 할 수 있다. 

이는 데이터를 직관적으로 보기위해 사용을 한 것이다.