배포
- 배포환경에 Docker만 설치하면됨
- aws에 Docker 설치, 도커 컴포즈 설치, 도커 허브에서 pull 땡겨서 docker-compose up -d 하면 배포 끝
도커 컴포즈를 이용한 전체 애플리케이션 배포 (백, 프론트, DB)
- 새 폴더 생성
- 기존 백엔드, 프론트엔드 폴더 옮김(clone 해도됨) + docker-compose.yml 생성
- frontend폴더 안에 리액트 앱, backend폴더 안에 spring앱 넣기
- backend, frontend폴더 안에 있는 docker-compose.yml 파일은 삭제 (공통으로 쓰일 docker-compose.yml을 생성했기 때문에), Dockerfile은 각자 있게함
- 공통 docker-compose.yml 작성
- 프론트엔드, 백엔드, DB 컨테이너 3개를 돌림
build: ./frontend
: Dockerfile이 있는 곳을 지정
services:
frontend:
build: ./frontend
ports:
- "3000:3000"
environment:
- NODE_ENV=development
backend:
build: ./backend
ports:
- "80:80"
depends_on:
- db
environment:
SPRING_PROFILES_ACTIVE: 'docker'
SPRING_DATASOURCE_URL: jdbc:mariadb://db:3306/spring7
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: abc1234
db:
image: mariadb:10
environment:
MYSQL_ROOT_PASSWORD: abc1234
MYSQL_DATABASE: spring7
volumes:
- db-data:/var/lib/mysql
volumes:
db-data:
- 도커 컴포즈를 이용한 배포 및 관리
docker-compose up -d
명령어를 통해 모든 서비스 시작