在 Docker 图像中复制 /node_modules 不是一个好主意吗?
Is copying /node_modules inside a Docker image not a good idea?
Most/all我在网上看到的例子一般都是复制package.json
到图片里面,然后运行npm install
复制到图片里面。是否存在不从构建服务器外部 运行ning npm install
然后复制所有内容(包括 node_modules/
文件夹)的交易破坏因素?
我这样做的主要动机是,我们使用私有 npm 注册表,具有安全性,并且 运行ning npm
来自图像,我们需要弄清楚如何安全地嵌入凭据。此外,我们正在使用 yarn,如果构建服务器上有 yarn 运行s,我们可以跨项目利用 yarn 缓存。我想这些是有解决方法的,但是 运行ning yarn/npm 从已经设置好所有内容的构建服务器似乎非常方便。
谢谢
Public Docker 文件试图提供通用解决方案。
将依赖项编码为 package.json
使得仅共享一个 Dockerfile
而不依赖任何 public 不可用的东西成为可能。
但是在运行时 Docker 并不关心文件是如何到达容器的。所以这取决于你如何将所有需要的文件推送到你的容器。
P.S。考虑分层。如果你复制node_modules/
下的东西,一步完成,因为只使用一层。
Most/all我在网上看到的例子一般都是复制package.json
到图片里面,然后运行npm install
复制到图片里面。是否存在不从构建服务器外部 运行ning npm install
然后复制所有内容(包括 node_modules/
文件夹)的交易破坏因素?
我这样做的主要动机是,我们使用私有 npm 注册表,具有安全性,并且 运行ning npm
来自图像,我们需要弄清楚如何安全地嵌入凭据。此外,我们正在使用 yarn,如果构建服务器上有 yarn 运行s,我们可以跨项目利用 yarn 缓存。我想这些是有解决方法的,但是 运行ning yarn/npm 从已经设置好所有内容的构建服务器似乎非常方便。
谢谢
Public Docker 文件试图提供通用解决方案。
将依赖项编码为 package.json
使得仅共享一个 Dockerfile
而不依赖任何 public 不可用的东西成为可能。
但是在运行时 Docker 并不关心文件是如何到达容器的。所以这取决于你如何将所有需要的文件推送到你的容器。
P.S。考虑分层。如果你复制node_modules/
下的东西,一步完成,因为只使用一层。