-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
28 lines (28 loc) · 1.53 KB
/
docker-compose.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 어떤 정보(실행할 서비스)를 정의 할 것인지
services:
postgres:
image: postgres:latest
# 실행할 때마다 재시작
restart: always
# 도커 이미지 안에서 실행 혹은 생성됐던 파일들은 도커 이미지 안에서만 존재함.
# 그렇기 때문에 도커를 종료시키면 이미지 내의 파일들이 다 날아감.
# 그래서 postgresql 안에 저장해놨던 데이터를 실제 Host OS의 볼륨과 매핑을 해줄 것.
volumes:
# :를 기준으로 왼쪽은 Host OS의 경로. 오른쪽은 이미지 내부의 경로
# 즉 Host OS의 경로인 ./postgres-data 폴더와 이미지 내부의 존재하는 폴더인
# /var/lib/postgresql/data와 싱크를 맞춰주겠다는 뜻.
- ./postgres-data:/var/lib/postgresql/data
# 이미지 내의 포트와 현재 Host OS의 포트를 매핑
# 이렇게 하면 postgres 서비스를 실행했을 때 host에서 5432포트에 요청을 넣게 되면
# 그 요청은 postgres 서비스의 이미지의 5432 포트로 요청이 넘어가게 됨.
ports:
- '5432:5432'
# 데이터베이스에 대한 정보를 추가로 넣어줄 수 있음
environment:
# postgres이미지를 띄웠을 때 기본 사용자 이름 정의
POSTGRES_USER: postgres
# 비밀번호
POSTGRES_PASSWORD: postgres
# 기본으로 사용할 db의 이름
POSGRES_DB: postgres
# 실행하면 postgres-data 폴더에 실제 이미지 속의 data폴더에 존재하는 파일들이 생김