将 dockerized node.js 运送到生产环境时,运送包含开发依赖项的映像是否正确?
我不是在谈论开发依赖项
不是devDependenciespackages.json中列出的,我的意思是gcc,python,node-gyp,其他一些*-dev包,包含一堆头文件,静态库。所有这些都需要编译一些节点依赖项(如 node-sass)
一个想法可能是两阶段构建,一个包含所有 *-dev 依赖项的映像,在其中构建内容,然后将结果导出到另一个仅包含二进制文件的新映像。
一般来说,我想在 docker 镜像中分发的任何编译软件不应该包含用于构建二进制文件的编译器、头文件和工具。