
目前在打包一个 nuxt3 项目,Dockerfile 内容如下
FROM node:20-alpine AS build WORKDIR /app COPY . . RUN npm install && npm run build FROM node:20-alpine AS release WORKDIR /dist COPY --from=build /app/.output/* . EXPOSE 3000 CMD node server/index.mjs 生成的镜像有 147MB ,按照我搜到的教程,我的理解应该只有 70 多兆才对
然后我用 docker history 查看了构建层

高亮这条就已经有 121MB 了,可我在 dockerhub 上看的 node:20-alpine 镜像的同一层只有 42.17MB

不解为什么本地打包时候这一层会变大
1 ss098 2024-01-23 23:38:22 +08:00 Docker Hub 上显示的是压缩后的 layer 大小 |
2 PqgpNgA0wk OP @ss098 了解了解 |
3 julyclyde 2024-01-24 11:38:55 +08:00 你高亮的那一行,没在你自己的 Dockerfile 里啊 这是 node:20-alpine 的内容吧? 这样的话,你应该拿最终结果和 FROM 做比较,看增加了多少;而不是直接看最终大小吧? 只要没有过份增加,那你做的就没啥错;至于为什么底层那么大,那也不是你能管得了的事了吧 |
4 PqgpNgA0wk OP @julyclyde 好的 |