livflow project 27 - frontend vite 배포

주영광·2025년 2월 5일
0

livflowproject

목록 보기
29/30

기존 프론트 컨테이너는 아래처럼 2개로 관리했었는데

services:
  # 프론트엔드 빌드 서비스
  frontend:
    build:
      context: .  # 현재 디렉토리를 빌드 컨텍스트로 사용
      dockerfile: dockerfile  # 사용할 Dockerfile 지정
    container_name: frontend-container  # 컨테이너 이름
    volumes:
      #- build_volume:/usr/share/nginx/html  # Nginx 컨테이너에서 제공할 빌드 결과물 경로에 매핑
      - /etc/letsencrypt:/etc/letsencrypt:ro
#./dist:
      
  # Nginx 컨테이너
  frontend-nginx:
    image: nginx:1.23-alpine  # Nginx 이미지 사용
    container_name: frontend-nginx  # Nginx 컨테이너 이름
    ports:
      - "80:80"
      - "443:443"  
    volumes:
     # - build_volume:/usr/share/nginx/html
      - ./nginx.conf:/etc/nginx/nginx.conf
      - /etc/letsencrypt/archive/livflow.co.kr/fullchain2.pem:/etc/letsencrypt/live/livflow.co.kr/fullchain.pem
      - /etc/letsencrypt/archive/livflow.co.kr/privkey2.pem:/etc/letsencrypt/live/livflow.co.kr/privkey.pem
      - ./certbot:/var/www/certbot

volumes:
  build_volume:
    driver: local
    driver_opts:
      type: "none"
      device: "./dist"  # 빌드된 정적 파일들이 있는 경로를 지정
      o: "bind"

사실 만들때부터 1개로..해도되나...? 하면서 만들긴했다.

백엔드만 배포해보다가 프론트엔드 배포를 처음해봐서 그런지 2개 컨테이너로 하는게 기본인가 했는데 역할을 생각해보면 1개여도 충분했었다.

근데 이 부분이 배포에서 문제를 일으킬줄 몰랐다. 보면 frontend-container, frontend-nginx

이렇게 있는데 frontend-nginx가 배포해주는 .DIST가 있는 컨테이너다. 이게 분리되어 있다보니

CICD도 잘되고, 서버에 코드도 최신화가 되는데 배포 .DIST파일이 과거 파일이라 웹페이지가 이전꺼로 보이는 문제가 발생했다. 괜히 이것때문에 소셜로그인 고쳐본다고 시간만 버렸다.

어쨋든 통합컨테이너로 바꾼 뒤 문제는 사라져서 다행이다.

profile
오직 실력만이 나를 증명한다.

0개의 댓글