Dockerfile.1执行多个RUN:
FROM busybox
RUN echo This is the A > a
RUN echo This is the B > b
RUN echo This is the C > c
Run Code Online (Sandbox Code Playgroud)
Dockerfile.2 加入他们:
FROM busybox
RUN echo This is the A > a &&\
echo This is the B > b &&\
echo This is the C > c
Run Code Online (Sandbox Code Playgroud)
每个都RUN创建一个图层,所以我总是认为更少的图层更好,因此Dockerfile.2更好.
当RUN删除由前一个RUN(即yum install nano && yum clean all)添加的内容时,这显然是正确的,但是在每个RUN添加内容的情况下,我们需要考虑以下几点:
图层都应该只是添加高于前一个差异,所以如果以后层不会删除的东西在前面的一个补充,不存在应节省多少磁盘空间这两种方法之间的优势...
从Docker …
在不同的地方,我发现了一个信息,即泊坞窗映像最多只能包含42层。这似乎是使用的AUFS文件系统的限制。
谁能告诉我为什么存在此限制,或者有人有一些文档对此进行解释吗?