当我使用命令 docker-compose build
构建 docker 镜像时,我看到了一件意想不到的事情。
当一个 Dockerfile
只有一个 RUN
命令
当我们将其拆分为每个单独的 RUN
那么该镜像不会删除 devDependency
(大约 70MB)。
谁能解释一下为什么会这样吗?
最佳答案
因为 Docker 镜像有 layers ,每个 RUN 命令都会创建一个与前一层不同的新层。
您可以使用 multi-stage Docker build来完成你想要的事情。
关于node.js - Dockerfile 和 npm prune --生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60463889/