小编Ces*_*sar的帖子

如何删除生产 docker 镜像中的开发依赖项

将 dockerized node.js 运送到生产环境时,运送包含开发依赖项的映像是否正确?

我不是在谈论开发依赖项 不是devDependenciespackages.json中列出的,我的意思是gcc,python,node-gyp,其他一些*-dev包,包含一堆头文件,静态库。所有这些都需要编译一些节点依赖项(如 node-sass)

一个想法可能是两阶段构建,一个包含所有 *-dev 依赖项的映像,在其中构建内容,然后将结果导出到另一个仅包含二进制文件的新映像。

  • 优点:最终的“生产”图像很小
  • 缺点:不是构建图像的标准方式

一般来说,我想在 docker 镜像中分发的任何编译软件不应该包含用于构建二进制文件的编译器、头文件和工具。

production node.js node-gyp docker

4
推荐指数
1
解决办法
2669
查看次数

标签 统计

docker ×1

node-gyp ×1

node.js ×1

production ×1