728x90
Docker Image 빌드를 위해 Dockerfile을 작성해야 한다.
기본적인 원칙은 빈번히 변경되어야 하는 부분일 수록 더 아래 작성해주어야 한다는 것.
다른 부분이 동일하다면, 변경이 없는 부분은 캐시에서 재사용되고 아래 작성한 변경 부분만 다시 빌드되어 효율적이다.
FROM node:16-alpine
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
COPY index.js .
ENTRYPOINT ["node", "index.js"]
WORKDIR은 이미지를 빌드할 경로를 의미한다.
COPY로 환경 설정 파일들을 복사해주고, RUN으로 npm install을 실행한다.
여기서 npm install 대신 npm ci를 사용하면, package-lock.json에 있는 상세한 버전까지 맞추어 이미지가 빌드되기 때문에
버전 차이로 인한 불필요한 에러를 방지할 수 있다.
그 후 COPY로 다시 소스 코드들을 복사해주고, 그 아래 명령어로 실행해주면 된다.
사실 나도 아직 완벽히 이해된 건 아니라 도커의 공식 문서를 참고하면 좋을 것 같다.
Dockerfile reference
docs.docker.com
드림코딩 엘리님의 영상을 참고했다.
도커를 이해하고 실습까지 해볼 수 있는 좋은 영상이라 추천한다.
728x90
'환경' 카테고리의 다른 글
[AWS EC2] no space left on device 에러 트러블 슈팅 (0) | 2023.07.12 |
---|---|
[Docker] NestJS 도커 파일 작성법 (0) | 2023.07.04 |
[nestjs + ec2 + docker] 트러블 슈팅 일기 (0) | 2023.05.24 |
[AWS RDS] Mysql access denied 에러 트러블슈팅 (+ 해킹 체험) (0) | 2023.05.19 |
[Docker] Macbook M1, M2 사용자의 Docker 사용법 (0) | 2023.05.03 |