Dockerfiles最佳实践
示例
集团共同经营
Docker将图像构建为图层的集合。即使这些数据表明文件已被删除,每一层也只能添加数据。每条指令都会创建一个新层。例如:
RUN apt-get -qq update RUN apt-get -qq install some-package
有几个缺点:
它将创建两个图层,从而产生更大的图像。
apt-getupdate在RUN语句中单独使用会导致缓存问题,随后的apt-getinstall指令可能会失败。假设您稍后apt-getinstall通过添加额外的软件包进行修改,然后docker将初始指令和修改后的指令解释为相同,并重复使用先前步骤中的缓存。结果,该apt-getupdate命令未执行,因为在构建过程中使用了其缓存版本。
而是使用:
RUN apt-get -qq update && \
apt-get -qq install some-package因为这只会产生一层。
提及维护者
这通常是Dockerfile的第二行。它告诉谁负责,将能够提供帮助。
LABEL maintainer John Doe <john.doe@example.com>
如果您跳过它,则不会破坏您的图像。但这也不会帮助您的用户。
简明扼要
保持Dockerfile简短。如果需要复杂的设置,请考虑使用专用脚本或设置基本映像。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西