Next.js 프로젝트 Docker로 배포하기
1. next 프로젝트 생성
npx create-next-app@latest
확인
2. 편집기로 열어서 실행해보기
npm run dev
3. next.js의 포트번호는 3000 이다. 브라우저를 열어서 확인해보자.
4. Dockerfile 생성
base 이미지는 node로 한다. 이미지들 중 alpine이라는 태그명이 많다. 실제 이미지를 최적화 해서 이미지 용량을 줄인 것이다.
node 20버전의 alpine 이미지를 사용해보자.
FROM node:alpine
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build
EXPOSE 3000
ENTRYPOINT [ "npm", "run", "start" ]
5. dockerignore 파일 추가
node_modules
6. 빌드
docker build -t my-web-server .
7. 실행
docker run -d -p 80:3000 my-web-server
이번엔 호스트 컴퓨터의 포트를 80번으로 매핑해보자. 우리가 일반적으로 사이트에 접속할 때 포트를 붙이지 않아도 접속 가능한 것은 80번 포트가 생략되어 있기 때문이다.
확인해보자.
* Inflearn(인프런) ‘비전공자도 이해할 수 있는 Docker 입문/실전’ 강의 참고
'DevOps > Docker' 카테고리의 다른 글
[Docker 기본] Docker Compose를 활용해 컨테이너 관리하기 (0) | 2024.07.04 |
---|---|
[Docker 실습] 웹 프론트엔드 프로젝트(HTML, CSS, Nginx)를 Docker로 배포하기 (0) | 2024.07.04 |
[Docker 실습] 백엔드 프로젝트(Nest.js)를 Docker로 실행시키기 (0) | 2024.07.03 |
[Docker 기본] EXPOSE: 컨테이너 내부에서 사용 중인 포트를 문서화하기 (0) | 2024.07.03 |
[Docker 기본] WORKDIR: 작업 디렉토리를 지정 (0) | 2024.07.03 |