Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titleDockerfile
FROM node:10-alpine
ENV NODE_ENV "production"
ENV PORT 8079
EXPOSE 8079
RUN addgroup mygroup && adduser -D -G mygroup myuser && mkdir -p /usr/src/app && chown -R myuser /usr/src/app

# Prepare app directory
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
COPY yarn.lock /usr/src/app/
RUN chown myuser /usr/src/app/yarn.lock

USER myuser
RUN yarn install

COPY . /usr/src/app

# Start the app
CMD ["/usr/local/bin/npm", "start"]


Info
titlenode:10-alpine

이 이미지는 인기를 기반으로 알파인 리눅스 프로젝트 에서 사용할 수, 공식 이미지 . Alpine Linux는 대부분의 배포 기본 이미지 (~ 5MB)보다 훨씬 작으므로 일반적으로 훨씬 더 슬림 한 이미지를 만듭니다.alpine

이 변형은 가능한 한 작은 최종 이미지 크기가 필요할 때 크게 권장됩니다. 주목해야 할 주된주의 사항은 glibc 및 친구 대신 musl libc  사용 한다는 것입니다 . 따라서 특정 소프트웨어는 libc 요구 사항의 깊이에 따라 문제가 발생할 수 있습니다. 그러나 대부분의 소프트웨어에는 이와 관련한 문제가 없으므로이 변형은 일반적으로 매우 안전한 선택입니다. 발생할 수있는 문제에 대한 자세한 설명과 알파인 기반 이미지 사용에 대한 몇 가지 비교 /

비교

비교를 보려면 해커 뉴스 댓글 스레드  참조하십시오 .

이미지 크기를 최소화하기 위해 추가 관련 도구 (예 : git또는 bash)를 알파인 기반 이미지에 포함시키는 것은 드뭅니다 . 이 이미지를 기본으로 사용하여 자신의 Dockerfile에 필요한 것을 추가하십시오 ( 익숙하지 않은 경우 패키지를 설치하는 방법의 예  alpine이미지 설명  참조하십시오 ).


Info

알파인 리눅스는 가볍고 간단하고 보안성을 목적으로 개발한 리눅스 배포판입니다.

용량을 줄이기 위해 시스템의 기본 C runtime을 glibc 대신 musl libc 를 사용하며 다양한 쉘 명령어는 GNU util 대신 busybox 를 탑재하였습니다.

용량이 80M인 경량화된 배포판이므로 Embbeded 나 네트웍 서버등 특정 용도에 적합하며 특히 도커(docker)에 채택되어 5M 크기의 리눅스 이미지로 유명합니다.



Info
titleYarn.lock

Yarn.lock 파일은 설치된 모듈의 버전을 저장해 어디서나 같은 버전과 구조의 의존성을 가지게 합니다.
Yarn에서는 자동으로 yarn install 때 마다 yarn.lock이 생성됩니다.
package-lock.json와 비슷한 기능을 한다고 생각하면 됩니다.

...