dockerfile和COPY命令的数量

是否有一个实际的差异和更好的select:

COPY folderOrFile1 /app/folderOrFile1 COPY folderOrFile2 /app/folderOrFile2 .... COPY folderOrFile10 /app/folderOrFile10 

VS

 COPY folderOrFile1 folderOrFile2 ... folderOrFile10 /app/ 

在docker中,每个COPY命令都会创build一个图层,那么是否有一个真正的理由来尽量减less这个特定情况下COPY命令和图层的数量?

我个人更喜欢做一个:

 COPY app/ /app/ 

如果可能的话,所有的文件夹组织如何我想要他们在构build上下文。 这对我来说更加可维护,使得Dockerfile更易于阅读。

有了这两个选项,没有太大的区别。 只要每一层都是相互独立的,图像尺寸就不会有明显的增加。

一般来说减less层数是很好的,以避免限制。 但是为了达到这个极限,或者需要大量的COPY命令,你需要做很多其他的事情来达到这个极限。 具有42层限制的Aufs正在被淘汰,转而支持overlay2,其中最多有128层。 由于文件系统驱动程序需要search每个层以进行读取操作,因此您可能会看到许多层次的性能影响较小。 所以越less越好,但当达到极限时更是如此。