Docker로 PostgreSQL를 서비스 하기

PostgreSQL은 open-source ORDBMS 이다. 현재 제품 개발 시 MySQL를 많이 사용되지만 PostgreSQL도 그것만의 매력이 있는건 사실이다.이글 통해 두 DB의 장단점을 어느정도 파악 할 수 있을것 같다.

Docker&Docker compose 설치

구글에서 검색하여 나온 블로그를 보면 Docker 설치에 관한 내용이 잘 정리되여 있다. 여기서 잘 정리된 블로그를 소개한다. 설치부터 설정 등등이 모두 포함되여 있다(CentOS 기준으로 작성되었음)

PostgreSQL 컨테이너 실행

PostgreSQL를 서비스로 올리려면 공식적으로 제공되는 docker image를 사용해야 한다.

아래 사이트로 방문하면 버전 별로 태그를 확인할 수 있다.

https://hub.docker.com/_/postgres

 

Postgres - Official Image | Docker Hub

Note: the description for this image is longer than the Hub length limit of 25000, so has been trimmed. The full description can be found at https://github.com/docker-library/docs/tree/master/postgres/README.md. See docker/hub-beta-feedback#238 for more in

hub.docker.com

사용할 버전을 확인 했으면 아래 명령어를 사용하여 PostgreSQL 컨테이너를 실행하면 된다.

docker run --name postgres-service -d --restart unless-stopped \
  -p 15432:5432 -e POSTGRES_PASSWORD=test1234 \
  -v ${PWD}/data:/var/lib/postgresql/data postgres:13.3

-name: 컨테이너 이름을 지정한다

-d: background에서 실행하는 옵션

-p: 포트 매핑을 해준다. 앞에 host port를 쓰고 뒤에 컨테이너 service port를 적어준다.

-e: 환경 변수를 설정해 준다. 여기서는 PostgreSQL 비밀번호만 설정해 주었다.

-v: 볼룸 매핑을 해준다.

더 많은 옵션의 이 주소에서 확인해 보시길 바란다.

docker ps 명령으로 현재 실행되고 있는 컨테이너 상태를 확인 할 수 있다.

Docker-compose 사용

매번 위의 명령을 사용하여 서비스를 구동하면 사용되는 환경 변수나 옵션들이 달라질 수 있으니 구동에 관련된 내용을 yml파일로 설정할 수 있다. 아래는 PostgreSQL를 컨테이너롤 서비스를 할 수 있는 제일 심플한 샘플 파일이다.

version: '1.0'
services:
  postgres:
    image: postgres:13.3
    container_name: postgres
    environment:
      - POSTGRES_USER=postgre
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=testDB
    restart: always
    ports:
      - '25432:5432'
    volumes:
      - ~/docker_volume/postgresql:/var/lib/postgresql/data

https://valuefactory.tistory.com/497

 

mysql vs postgresql

원본 : https://employment.en-japan.com/engineerhub/entry/2017/09/05/110000 엔지니어로 근무하고 반드시 직면하는 고민. 그것은 "어떤 관계형 데이터베이스 (이하 RDB)를 선택하는 것이 최선인가?"입니다. RDB..

valuefactory.tistory.com

https://devinlife.com/postgresql/run-postgresql-on-docker/

 

Docker로 postgreSQL Database 설치하기

도커 컨테이너로 postgreSQL DB 손쉽게 실행하기

devinlife.com

 

'DataBase' 카테고리의 다른 글

ORM 장단점  (0) 2021.12.12
Postgres Failover 방법  (0) 2021.12.12
PostgreSQL 설치부터 이중화까지  (0) 2021.12.12
MongoDB 기본적인 사용법  (0) 2021.11.07
MongoDB 개념 및 docker로 서비스  (0) 2021.11.07