도커 - 도커 컴포즈를 이용한 전체 애플리케이션 배포

Yohan·2024년 9월 18일
0

코딩기록

목록 보기
152/156
post-custom-banner

배포

  • 배포환경에 Docker만 설치하면됨
  • aws에 Docker 설치, 도커 컴포즈 설치, 도커 허브에서 pull 땡겨서 docker-compose up -d 하면 배포 끝

도커 컴포즈를 이용한 전체 애플리케이션 배포 (백, 프론트, DB)

  1. 새 폴더 생성
  • 기존 백엔드, 프론트엔드 폴더 옮김(clone 해도됨) + docker-compose.yml 생성
  1. frontend폴더 안에 리액트 앱, backend폴더 안에 spring앱 넣기
  2. backend, frontend폴더 안에 있는 docker-compose.yml 파일은 삭제 (공통으로 쓰일 docker-compose.yml을 생성했기 때문에), Dockerfile은 각자 있게함
  3. 공통 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:
  1. 도커 컴포즈를 이용한 배포 및 관리
  • docker-compose up -d 명령어를 통해 모든 서비스 시작

profile
백엔드 개발자
post-custom-banner

0개의 댓글