🔎 Vite 애플리케이션 설정
- vite의 이미지 폴더 경로:
/public/assets/img
vite.config.ts
base
: dist 폴더에 생성된 index.html 에서 참조하는 파일 경로./
로 세팅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 |