chore(docker): 백엔드·프론트엔드 .dockerignore 추가

없으면 Dockerfile 의 `COPY . .` 가 폴더를 통째로 이미지에 넣는다.
Windows 호스트에서 백엔드 빌드 컨텍스트가 263MB(호스트 node_modules 포함)로
4분 넘게 걸렸고, 두 가지 문제가 있었다.

- 호스트(Windows) node_modules 가 컨테이너의 Linux 모듈을 덮어써 swc 등
  네이티브 모듈이 깨질 수 있다
- backend/.env.{환경} 의 키가 이미지 레이어에 남는다(env 는 compose 가
  실행할 때 넣으므로 이미지에 필요 없다)

node_modules·dist·coverage·.env*·uploads 등을 제외해 컨텍스트가 약 1MB 가 됐다.
프론트엔드는 VITE_API_BASE_URL 을 build arg 로 받으므로 결과가 같다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-02 16:46:41 +09:00
parent 13bf3c6e40
commit cd089f76fb
2 changed files with 46 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# 이미지 빌드 컨텍스트에서 뺄 파일 — 빌드를 빠르게 하고, 비밀값·호스트 산출물이 이미지에 들어가지 않게 한다.
# (없으면 Dockerfile 의 `COPY . .` 가 아래 파일을 전부 이미지에 넣는다)
# 의존성 — 이미지 안에서 npm ci 로 설치한다.
# 호스트(Windows) node_modules 가 들어오면 Linux 용 모듈을 덮어써 네이티브 모듈(swc 등)이 깨진다.
node_modules
# 빌드·테스트 산출물 — 이미지 안에서 npm run build 로 다시 만든다
dist
coverage
*.tsbuildinfo
# 환경변수 — 실행할 때 compose 가 env_file/environment 로 넣는다. 이미지에 넣으면 키가 레이어에 남는다
.env
.env.*
# 업로드 파일(로컬 디스크 저장소) — 사용자 파일은 이미지가 아니라 볼륨에 둔다
uploads
# 기타
*.log
.git
.vscode
.idea