如何减少Nuxt应用程序的Docker映像大小?

问题描述 投票:0回答:2

我正在使用docker部署我的nuxt应用。但是我的docker映像大小为260MB。对于docker映像来说太大了吗?我使用阿尔卑斯高山节点来减少码头工人的大小。这是dockerfile。

FROM node:10-alpine

RUN mkdir -p /usr/src/nuxt-app
WORKDIR /usr/src/nuxt-app


# copy the app, note .dockerignore
COPY package*.json ./
COPY . .
RUN npm install

RUN npm run build

EXPOSE 3000

ENV NUXT_HOST=0.0.0.0
# set app port
ENV NUXT_PORT=3000

# start the app
CMD [ "npm", "start" ]

我想要一个大小小于100MB的docker映像。要添加nuxt应用程序或docker命令,是否还需要其他配置?

docker vue.js minify nuxt
2个回答
0
投票

我不认识Nuxt,但是您可以尝试以下操作:

  • 将两个COPY语句分组,似乎COPY . .就足够了>
  • 将两个RUN语句分组(例如RUN npm install && npm build
  • 避免安装开发包->使用--productionnpm install标志。
  • 前两个将减少图像中的图层数量,但是不要期望尺寸会大幅减少。第三个是可以节省更多空间的地方(如果您有很多开发包)。


0
投票

您必须进行多阶段docker构建。想法是,您使用一个图像进行构建,然后将纯JavaScript文件复制到Alphine图像。在此处检查良好示例-https://github.com/nuxt/nuxt.js/issues/2871

© www.soinside.com 2019 - 2024. All rights reserved.