node.js - Dockerfile 和 npm prune --生产

标签 node.js docker docker-compose node-modules

当我使用命令 docker-compose build 构建 docker 镜像时,我看到了一件意想不到的事情。 当一个 Dockerfile 只有一个 RUN 命令

enter image description here 然后图像尺寸逐渐减小。

当我们将其拆分为每个单独的 RUN

enter image description here

那么该镜像不会删除 devDependency (大约 70MB)。

谁能解释一下为什么会这样吗?

最佳答案

因为 Docker 镜像有 layers ,每个 RUN 命令都会创建一个与前一层不同的新层。

您可以使用 multi-stage Docker build来完成你想要的事情。

关于node.js - Dockerfile 和 npm prune --生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60463889/

相关文章:

node.js - 如何在 node.js 中使用 sequelize 编写 mysql 连接查询?

docker - 在Docker Toolbox for Windows中挂载USB卷

使用 Dockerfile 的 Java Spring Boot 随机端口

spring-boot - 通过 docker 容器拒绝访问本地数据库

ruby-on-rails - Docker-compose - Redis 位于 0.0.0.0 而不是 127.0.0.1

mysql 5.7数据目录里面有文件

javascript - Angular-Google-Maps 库未加载

javascript - lint 错误 - 数组原型(prototype)是只读的,不应添加属性

javascript - 如何使用 .mocharc 配置文件指定测试文件

docker - 在 Docker 中运行 Chromium - Gtk : cannot open display: :0