릴리스 2.9
3561 단어 opensource
내 작품
Apply Dockerfile best practices from Snyk recommendations #1668
작동하는 Dockerfile 목록:
https://github.com/Seneca-CDOT/telescope/pull/3307 (진행 중, 실패한 e2e 테스트 수정)
전반적으로 PR 중 하나가 검토되면 꽤 간단했고 템플릿으로 사용할 수 있습니다.
프로세스 단계 중 하나
참조
- FROM node:lts as base
+ FROM node:16 as base
+ FROM node:16 as base
+ FROM base as dependencies
+ FROM node:16-alpine3.15 as deploy
기본 단계는 패키지 설치에 필요한 도구를 설치하는 단계입니다.
종속성 단계는 node_modules를 설치하기 위한 것입니다.
배포 단계는 빌드 컨텍스트에서 소스 코드를 복사하고 종속성에서 node_modules를 복사하고 서비스를 실행하는 단계입니다.
+ COPY --chown=node:node . .
+ USER node
이를 통해 노드 사용자는 소스 코드를 읽을 수 있는 권한을 가질 수 있습니다.
+ ENV PORT
+ HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 \
+ CMD wget --no-verbose --tries=1 --spider localhost:${DEPENDENCY_DISCOVERY_PORT}/healthcheck || exit 1
이것이 제가 만든 변경 사항입니다. 한 가지@humphd는 ARM 아키텍처에서 노드 알파인 이미지로 응용 프로그램을 빌드하는 것으로 나타났습니다. 빌드하려면 더 큰 노드 이미지를 사용해야 합니다. See PR 3336
Reference
이 문제에 관하여(릴리스 2.9), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pandanoxes/release-29-1g59텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)