36 lines
1.0 KiB
Bash
36 lines
1.0 KiB
Bash
# Docker 이미지 빌드
|
|
docker build -t frontend .
|
|
|
|
# 로그 포함 빌드
|
|
docker build -t frontend --progress=plain .
|
|
docker scout quickview
|
|
# 실행
|
|
docker run -p 3000:3000 frontend
|
|
|
|
docker run --name frontend -p 3000:3000 frontend
|
|
|
|
#
|
|
docker run -it frontend sh
|
|
|
|
ls -al /app
|
|
|
|
# 실제 실행 방법
|
|
node .next/standalone/apps/cs/server.js
|
|
|
|
|
|
/app/.next # cp -r static /app/apps/cs/.next/static
|
|
|
|
|
|
|
|
• .env.production 파일을 .next/standalone/ 기준 또는 루트로 복사
|
|
• 또는 process.env.xxx를 직접 주입 (예: docker run -e)
|
|
일부 라이브러리는 process.cwd()를 기준으로 파일을 찾는데, 이 경로는 .next/standalone/... 안이므로 실패할 수 있습니다.
|
|
해결:
|
|
가능하면 __dirname 기반 경로를 사용하거나, 실행 전에 process.chdir(...) 수동 지정
|
|
4. ✅ 의존성 누락
|
|
|
|
Next.js가 standalone에 필요한 모듈만 복사하지만, 일부는 누락될 수 있습니다.
|
|
|
|
예:
|
|
• 동적 import (import('some-lib'))
|
|
• optional chaining으로 쓰이는 모듈 |