nuxt의 가벼운 용기 그림 만들기
4846 단어 DockerNuxt.jsdistrolesstech
주안점
distroless 이미지 활용
절차.
세그먼트 이미지는 패키지를 사용합니다.따로 제이슨 제작.
package.runtime.json
{
"name": "hoge",
"version": "1.0.0",
"dependencies": {
"nuxt-start": "^2.15.8"
}
}
Docker file은 3개의 스테이지로 구성된 다중 스테이지 건물입니다.최종 노드modules에는
nuxt-start
만 포함되지만distroless 이미지에는 케이스가 없어 RUN 명령을 실행할 수 없기 때문에 설치nuxt-start
에만 사용할 레벨을 만듭니다.# build-env
FROM node:16 as build-env
WORKDIR /app
COPY package.json yarn.lock /app/
RUN yarn install
COPY . /app
RUN yarn build --standalone
# install-env
FROM node:16 as install-env
WORKDIR /app
COPY package.runtime.json /app/package.json
COPY yarn.lock /app/
RUN yarn install --production
# runtime-env
FROM gcr.io/distroless/nodejs:16
ENV HOST=0.0.0.0
WORKDIR /app
COPY /app/.nuxt /app/.nuxt
COPY /app/node_modules /app/node_modules
COPY static /app/static
# srcDir: 'src' の場合でも static は直下
# COPY src/static /app/static
CMD ["node_modules/nuxt-start/bin/nuxt-start.js"]
이렇게 하면 250MB 정도의 이미지가 100MB로 줄어든다.
Reference
이 문제에 관하여(nuxt의 가벼운 용기 그림 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/sonodar/articles/592b3752276ba7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)