目前在打包一个 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 338 天前
Docker Hub 上显示的是压缩后的 layer 大小
|
2
PqgpNgA0wk OP @ss098 了解了解
|
3
julyclyde 337 天前
你高亮的那一行,没在你自己的 Dockerfile 里啊
这是 node:20-alpine 的内容吧? 这样的话,你应该拿最终结果和 FROM 做比较,看增加了多少;而不是直接看最终大小吧? 只要没有过份增加,那你做的就没啥错;至于为什么底层那么大,那也不是你能管得了的事了吧 |
4
PqgpNgA0wk OP @julyclyde 好的
|