Next.js에서 Docker 컨테이너 활용하기

Docker는 애플리케이션을 컨테이너로 패키징하여 효율적으로 배포하고 실행할 수 있는 오픈 소스 플랫폼입니다. Next.js는 React 기반의 프레임워크로, Docker와 함께 사용하면 개발 및 배포 프로세스를 더욱 효율적으로 관리할 수 있습니다. 이번 글에서는 Next.js를 Docker 컨테이너로 빌드하고 실행하는 방법에 대해 알아보겠습니다.

1. Docker 설치하기

먼저 Docker를 설치해야 합니다. 공식 Docker 웹사이트에서 자신의 운영체제에 맞는 Docker 설치 파일을 다운로드하여 해당 파일을 실행하여 Docker를 설치합니다.

2. Next.js 프로젝트 생성하기

Docker로 Next.js 애플리케이션을 실행하기 위해서는 먼저 Next.js 프로젝트를 생성해야 합니다. 다음 명령어를 사용하여 Next.js 앱을 생성합니다.

npx create-next-app my-app

3. Dockerfile 생성하기

Next.js 앱을 Docker 컨테이너로 실행하기 위해 Dockerfile을 생성해야 합니다. 프로젝트 루트 디렉토리에 Dockerfile을 생성하고 다음 내용을 추가합니다.

FROM node:14-alpine

WORKDIR /app

COPY package.json .
COPY yarn.lock .

RUN yarn install

COPY . .

RUN yarn build

EXPOSE 3000

CMD ["yarn", "start"]

위의 Dockerfile에서는 먼저 Node.js 14 버전을 기반으로 하는 node 이미지를 사용합니다. 그리고 작업 디렉토리를 /app으로 설정하고 필요한 파일들을 복사한 뒤, yarn install을 실행하여 의존성 패키지를 설치합니다. 그 다음 프로젝트 소스 코드를 복사하고 yarn build를 실행하여 Next.js 애플리케이션을 빌드합니다. 마지막으로 3000번 포트를 열고 yarn start를 실행하여 애플리케이션을 실행합니다.

4. Docker 이미지 빌드하기

Dockerfile을 생성한 후에는 해당 파일이 있는 디렉토리에서 다음 명령어를 실행하여 Docker 이미지를 빌드합니다.

docker build -t next-app .

위의 명령어에서 -t 옵션은 이미지에 태그를 지정하는 옵션입니다. 여기서는 next-app이라는 태그를 사용했습니다.

5. Docker 컨테이너 시작하기

Docker 이미지를 빌드한 후에는 다음 명령어를 사용하여 Docker 컨테이너를 시작할 수 있습니다.

docker run -p 3000:3000 next-app

위의 명령어에서 -p 옵션은 호스트의 포트와 컨테이너의 포트를 연결하는 옵션입니다. 여기서는 호스트의 3000번 포트와 컨테이너의 3000번 포트를 연결하도록 설정했습니다.

이제 웹 브라우저에서 http://localhost:3000으로 접속하여 Next.js 애플리케이션을 확인할 수 있습니다.

마무리

이번 글에서는 Next.js 애플리케이션을 Docker 컨테이너로 빌드하고 실행하는 방법에 대해 알아보았습니다. Docker를 활용하여 개발 및 배포 프로세스를 간소화하고 효율적으로 관리할 수 있습니다.

더 자세한 내용을 알고 싶다면 Docker 공식 문서를 참고하시기 바랍니다.

#Tech #Docker #Next.js