我正在使用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命令,是否还需要其他配置?
我不认识Nuxt,但是您可以尝试以下操作:
COPY
语句分组,似乎COPY . .
就足够了>RUN
语句分组(例如RUN npm install && npm build
)--production
的npm install标志。前两个将减少图像中的图层数量,但是不要期望尺寸会大幅减少。第三个是可以节省更多空间的地方(如果您有很多开发包)。
您必须进行多阶段docker构建。想法是,您使用一个图像进行构建,然后将纯JavaScript文件复制到Alphine图像。在此处检查良好示例-https://github.com/nuxt/nuxt.js/issues/2871