- Docker를 설치한다. Docker 설치 가이드를 참고
- PostgreSQL을 설치한다. PostgreSQL 설치 가이드를 참고
-
터미널을 열고 PostgreSQL 서버에 접속한다:
psql postgres
-
bubblow_db
데이터베이스를 생성한다:CREATE DATABASE bubblow_db;
-
데이터베이스를 위한 사용자를 생성한다:
CREATE USER bubblow WITH PASSWORD 'ewhain1886';
-
해당 사용자에게 데이터베이스에 대한 모든 권한을 부여한다:
GRANT ALL PRIVILEGES ON DATABASE bubblow_db TO bubblow;
다음과 같은 디렉토리 구조를 만든다. 각각의 폴더를 생성한 후, 각 폴더 안에 클론을 받아야 하고 yml파일을 작성한다.
Bubblow/
├── Bubblow_client_
├── Bubblow_server_
└── docker-compose.yml
-
Bubblow_client_ 폴더 안에 client를 클론한다.
client
는develop
브랜치가 맞는지 확인한다.
-
Bubblow_server_ 폴더 안에 server를 클론한다.
server
는docker
브랜치로 체크아웃한다. (서버는 develop 브랜치가 아니라 docker 브랜치에서 실행!)
-
docker-compose.yml 파일을 생성하고 아래 코드를 추가한다:
version: '3.8'
services:
db:
image: postgres:13
container_name: db
environment:
POSTGRES_USER: bubblow
POSTGRES_PASSWORD: ewhain1886
POSTGRES_DB: bubblow_db
ports:
- "5432:5432"
volumes:
- db_data:/var/lib/postgresql/data
backend:
build: ./Bubblow_server_
container_name: backend
volumes:
- ./Bubblow_server_:/app
ports:
- "8000:8000"
depends_on:
- db
environment:
- DATABASE_URL=postgresql://bubblow:ewhain1886@db:5432/bubblow_db
frontend:
build:
context: ./Bubblow_client_/clinet
dockerfile: Dockerfile
container_name: frontend
ports:
- "3000:3000"
depends_on:
- backend
volumes:
db_data:
docker-compose up --build