Drizzle | 로컬에서 PostgreSQL 설정하기
This guide assumes familiarity with:
  • 최신 버전의 Docker Desktop을 설치하세요. 운영체제에 맞는 설치 가이드를 따르세요.

PostgreSQL 이미지 가져오기

Docker Hub에서 최신 PostgreSQL 이미지를 가져옵니다. 터미널에서 docker pull postgres 명령어를 실행하여 Docker Hub에서 최신 버전의 Postgres를 가져옵니다:

docker pull postgres

또는 특정 버전을 지정하여 원하는 버전을 가져올 수도 있습니다:

docker pull postgres:15

Postgres 이미지가 다운로드되면, Docker Desktop의 Images 탭에서 확인하거나 docker images 명령어를 실행하여 확인할 수 있습니다:

docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
postgres     latest    75282fa229a1   6 weeks ago     453MB

PostgreSQL 인스턴스 시작하기

새로운 PostgreSQL 컨테이너를 시작하려면 다음 명령어를 실행하세요:

docker run --name drizzle-postgres -e POSTGRES_PASSWORD=mypassword -d -p 5432:5432 postgres
  1. --name 옵션은 컨테이너에 drizzle-postgres라는 이름을 지정합니다.
  2. -e POSTGRES_PASSWORD= 옵션은 POSTGRES_PASSWORD 환경 변수를 지정된 값으로 설정합니다.
  3. -d 플래그는 컨테이너를 백그라운드에서 실행합니다.
  4. -p 옵션은 컨테이너의 5432 포트를 호스트 머신의 5432 포트로 매핑합니다. 이를 통해 호스트 시스템에서 PostgreSQL에 접근할 수 있습니다.
  5. postgres 인수는 컨테이너에 사용할 이미지를 지정합니다. postgres:15와 같이 다른 버전도 지정할 수 있습니다.

다음과 같은 추가 파라미터를 지정할 수도 있습니다:

  1. -e POSTGRES_USER= 옵션은 POSTGRES_USER 환경 변수를 지정된 값으로 설정합니다. 이 값이 비어 있으면 Postgres는 기본 사용자를 사용합니다. 대부분의 경우 기본 사용자는 postgres이며, Docker Desktop의 컨테이너 로그나 docker logs <container_name> 명령어로 확인할 수 있습니다.
  2. -e POSTGRES_DB= 옵션은 POSTGRES_DB 환경 변수를 지정된 값으로 설정합니다. 이 값이 비어 있으면 기본적으로 POSTGRES_USER 값이 사용됩니다.

컨테이너가 실행 중인지 확인하려면 Docker Desktop의 Containers 탭을 확인하거나 docker ps 명령어를 사용하세요:

CONTAINER ID   IMAGE      COMMAND                  CREATED         STATUS         PORTS                    NAMES
df957c58a6a3   postgres   "docker-entrypoint.s…"   4 seconds ago   Up 3 seconds   0.0.0.0:5432->5432/tcp   drizzle-postgres

데이터베이스 URL 설정하기

PostgreSQL 데이터베이스에 연결하려면 데이터베이스 URL을 제공해야 합니다. URL 형식은 다음과 같습니다:

postgres://:@:/

여러분은 이 자리 표시자들을 실제 값으로 바꿔야 합니다. 예를 들어, 생성된 컨테이너의 URL은 다음과 같을 수 있습니다:

postgres://postgres:mypassword@localhost:5432/postgres

이제 이 URL을 사용해 애플리케이션에서 데이터베이스에 연결할 수 있습니다.