[英]pattern for multiple dockerfiles and 1 package.json
說我有這個:
project/
app1/Dockerfile
app2/Dockerfile
app3/Dockerfile
package.json
每個應用程序可能會使用 package.json 中的一部分依賴項。 有沒有什么好的方法可以為每個子應用創建精簡版的 package.json 文件?
我意識到我不清楚問題是什么 - 問題是每個 Dockerfile(每個項目)不需要 package.json 中的所有依賴項,事實上它們可能每個只使用 20% 或更少的依賴項。 因此,為了減少 docker 圖像的大小,我們可能需要一種方法來覆蓋 package.json,如下所示:
project/
app1/
Dockerfile
dependencies.json
app2/
Dockerfile
dependencies.json
app3/
Dockerfile
dependencies.json
package.json
其中dependencies.json
聲明了 package.json 的依賴項子集,例如:
{
dependencies: ['foo', 'bar', 'baz']
}
甚至可能更有趣:
{
antiDependencies: ['foo', 'bar', 'baz']
}
不安裝或不安裝的依賴項。
(未經測試的解決方案)
我認為一種可能的解決方案是完全按照 OP 中的方式進行操作:
// package.js
const pkgJson = require('../../package.json')
module.exports = Object.assign({}, pkgJson, {
dependencies: {
...pkgJson.dependencies,
// eliminate these:
heavyDep: undefined,
anotherHeavyDep: undefined
}
});
這不是一個好的解決方案,因為它是動態的,但也許能讓球滾動起來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.