Dockerfile COPY 不包括以前复制的文件夹

时间:2021-05-30 12:30:21

标签: docker dockerfile

我们想将一个源文件夹的 docker 层拆分为两个。这可能吗?

从这里

const array = [
  [1, 123412341234, 2.44],
  [1, 123912341234, 23.44],
  [1, 623412341234, 82.44],
  [2, 123412341234, 22.44],
  [2, 123412381234, 2.44],
  [2, 723412341234, 29.44],
  [3, 123412341234, 24.44],
  [3, 123412377234, 34.44],
  [3, 520312341234, 54.44],
  [4, 123412341234, 12.44],
  [4, 938412341234, 19.44],
  [4, 603412341234, 10.44]
];
let result = [];
for (let id = 0; id < 4; id++) {
  result[id] = [];
  for (let index = 0; index < array.length; index++) {
    if (array[index][0] === id+1) {
      result[id].push(array[index]);
    }
  }
}


console.log(result) ;

为此

COPY . .

上下文:我们有一个 60MB 的源文件夹,其中包含 58MB 的静态文件(图像),几乎不会改变。如果我们可以先用这个大文件夹创建一个层,它就会被 docker 缓存,并会导致更快的构建和更小的推拉。

我不能(或不想)将此静态文件夹移到源文件夹之外。它会打破 我认为,该项目不会补偿收益。

1 个答案:

答案 0 :(得分:1)

我建议如下重构你的树:

  1. 数据/动态
  2. 数据/静态

更新您的 docker 文件如下:

COPY data/static .
COPY data/dynamic .

因此静态子文件夹将按照您的预期进行缓存。