pebblepark
개발계발
pebblepark
전체 방문자
오늘
어제
  • 분류 전체보기 (24)
    • Frontend (7)
    • Backend (7)
    • 인프라 (1)
    • CS (0)
      • Design Pattern (0)
    • 정리용 (9)
    • 회고 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Docker
  • Context API
  • Git
  • 스프링 의존관계
  • TDZ
  • javascript
  • React Query
  • useLayoutEffect
  • redux
  • Github Pages
  • wsl
  • CORS
  • SpringMVC
  • vite
  • spring
  • 스프링 빈
  • 호이스팅
  • 스프링
  • github
  • react-query
  • @ModelAttribute
  • 무한스크롤
  • 스프링 컨테이너
  • hoisting
  • springboot
  • 리액트쿼리
  • debounce
  • ERR_UNSAFE_PORT
  • typescript
  • react

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
pebblepark
정리용

AWS EC2에 Vite 애플리케이션 Docker로 배포하기

AWS EC2에 Vite 애플리케이션 Docker로 배포하기
정리용

AWS EC2에 Vite 애플리케이션 Docker로 배포하기

2022. 5. 12. 09:21

 

🔎 Vite 애플리케이션 설정

  • vite의 이미지 폴더 경로: /public/assets/img

vite.config.ts

  • base: dist 폴더에 생성된 index.html 에서 참조하는 파일 경로 ./ 로 세팅
    • https://vitejs.dev/config/#base
  • assetsInclude: dist 폴더 생성시 .jpg 포함되도록 추가
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
// https://vitejs.dev/config/
export default defineConfig({
base: './',
plugins: [react()],
assetsInclude: ['**/*.jpg'],
});

 

vite 애플리케이션 빌드

  • dist 폴더 생성(배포용 폴더)
$ npm run build



🔎 Docker 배포 준비

Docker 이미지 준비

  • DockerFile
  • nginx 이미지 통해서 dist/index.html 을 80포트로 연결해줌
# nginx 이미지를 사용합니다. 뒤에 tag가 없으면 latest 를 사용합니다.
FROM nginx:latest
# root 에 app 폴더를 생성
RUN mkdir /app
# work dir 고정
WORKDIR /app
# work dir 에 dist 폴더 생성 /app/dist
RUN mkdir ./dist
# host pc의 현재경로의 dist 폴더를 workdir 의 dist 폴더로 복사
ADD ./dist ./dist
# nginx 의 default.conf 를 삭제
RUN rm /etc/nginx/conf.d/default.conf
# host pc 의 default.conf 를 아래 경로에 복사
COPY ./default.conf /etc/nginx/conf.d
# 80 포트 오픈
EXPOSE 80
# container 실행 시 자동으로 실행할 command. nginx 시작함
CMD ["nginx", "-g", "daemon off;"]

 

nginx 설정 파일

  • default.conf
server {
#add_header Access-Control-Allow-Origin *;
listen 80;
listen [::]:80;
server_name localhost;
location / {
root /app/dist;
index index.html;
try_files $uri $uri/ /index.html;
}
}



🔎 Docker 배포

Docker Image 생성

  • -f : 도커파일 path
  • -t : 도커 이미지 이름:태그 (태그 안붙이면 latest)
$ docker build -f DockerFile -t sample .

 

Docker Container 실행

  • -d : 백그라운드로 실행
  • -p : 포트포워딩 설정
  • --name : 컨테이너 이름 설정
$ docker run -d -p 80:80 --name sample sample

 

Docker Container 내부 접속

$ docker exec -it sample /bin/bash

 

 

 

저작자표시 (새창열림)

'정리용' 카테고리의 다른 글

크롬에서 막혀있는 포트  (0) 2022.07.01
Proxy 서버로 CORS 해결하기  (0) 2022.06.24
Docker 명령어 정리  (0) 2022.05.25
Github pages 배포하기  (0) 2022.05.19
Github 특정 파일 커밋 기록 삭제  (0) 2022.05.17
  • 🔎 Vite 애플리케이션 설정
  • vite.config.ts
  • vite 애플리케이션 빌드
  • 🔎 Docker 배포 준비
  • Docker 이미지 준비
  • nginx 설정 파일
  • 🔎 Docker 배포
  • Docker Image 생성
  • Docker Container 실행
  • Docker Container 내부 접속
'정리용' 카테고리의 다른 글
  • Proxy 서버로 CORS 해결하기
  • Docker 명령어 정리
  • Github pages 배포하기
  • Github 특정 파일 커밋 기록 삭제
pebblepark
pebblepark
프론트엔드 개발자입니다. 피드백은 언제나 환영입니다:)

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.