1. Docker로 Postgres 이미지 pull

사용할 postgres 이미지를 선택했다면 버전에 맞게 pull을 진행하면 된다.

docker pull postgres:latest

2. postgres Container 동작

pull 받아온 postgres 이미지를 컨테이너로 실행해보자.

docker run -p 5432:5432 --name test-postgres \\
-e POSTGRES_PASSWORD=비밀번호 \\
-e TZ=Asia/Seoul \\
-v /home/testuser/pgdata:/var/lib/postgresql/data \\
-d postgres:latest

포트는 5432(default)로 지정하고 이름과 데이터베이스 비밀번호를 입력하고 타임존은 Asiz/Seoul로 지정해 준다.

컨테이너끼리 하나의 저장 공간을 공유해서 데이터를 읽거나 써야 하기 때문에 데이터를 영속적으로 저장하는 공간이 필요하다. (만약 그럴 필요가 없다면 넘어가도 된다.)

Docker는 볼륨(volume)과 바인드 마운트 (bind mount) 옵션을 제공하는데 해당 예제에서는 docker 호스트 서버에 임의의 경로(/home/testuser/pgdata)로 지정했다.

docker ps 명령어를 통해 내가 설정한 대로 컨테이너가 제대로 실행되었는지 확인한다.

3. Postgres 설정

1. DB 생성

Container에 먼저 접속을 한다.

docker exec -it [CONTAINER ID or CONTAINER NAME] bash