NextJS 개발 환경 구성하기 - Docker Container 생성

HyeonWooGa·2022년 7월 9일
0

배포환경이 제일 중요합니다.

  • 배포환경을 어떻게 세팅하냐는 독단적으로 결정 사항을 아닙니다.
  • 동료들과 많은 논의를 거쳐 결정해야 합니다.
  • NextJSVercel 이 만들었기 때문에 공식문서에서는 Vercel 을 강조하고 Vercel 을 사용하면 최적화가 되어 있을때 보다 빨리 해결할 수 있습니다.
  • 클라우드 플랫폼은 AWS 가 항상 정답은 아니고 상황에 따라서 결정해야 합니다.

현 강의에서 Docker 를 사용하지만 실제 프로젝트 진행시에는 다양한 조건들을 고려해서 결정 해야합니다.

  • 회사에서 NextJS 사용하고 백엔드 개발자가 부족하거나 클라우드 개념에 대해서 충분하지 않은 경우 Vercel 을 사용해도 무방합니다.

Deployment(배포) 과정도 공식문서를 보며 진행합니다.

  • 도커이미지 만드는 행위 자체는 어렵지 않습니다.

도커이미지 생성 방법(도커를 마는 방법)

  1. Dockerfile 파일을 루트 폴더 내에 생성해줍니다.
    • Dockerfile : 도커를 어떤식으로 생성할 건지 결정해줍니다.
  2. 공식문서에서 예시 코드를 Dockerfile 내에 작성 해줍니다.
    • npm 을 사용하고 있을때 예시 코드 내에서는 yarn 을 사용하고 있기때문에 제대로 동작이 안될 수 있으니 확인해줍니다.
    • 해결방법
      1. yarn 을 사용합니다.
      2. yarn.lockyarn 을 쓰는 으로 모든 것을 npm 으로 바꿔줍니다.
  3. docker build -t nextjs-docker 를 입력하여 도커이미지를 생성합니다.
  4. 도커이미지 생성이 완료되면 docker run -p 3000:3000 nextjs-docker 를 사용하여 도커이미지 생성이 잘 되었는지 확인합니다.
  5. scripts 에서 도커이미지 생성해주는 커맨드를 docker 로 스크립트화 해주고 다시 빌드가 잘 수행되는지 확인해줍니다.
    • 저는 스크립트 사용하여 docker 명려어를 사용할때 원하는 동작이 안되고 doc 폴더에 파일들을 복사해주는 오류가 있었는데 구글링 후 위 과정대로 안하고 임의로 중간에 npm install docker 를 해주어서 발생한 오류였습니다.
    • npm uninstall docker 하여 오류해결 했습니다.
profile
Aim for the TOP, Developer

0개의 댓글