Docker有一个很好的caching,但是我在“docker build”输出中看到的只是:
---> Using cache
或命令的输出(这意味着它没有使用caching)。
在我的Dockerfile(COPY)一步之后,它显然不使用caching。 但我相当肯定没有任何改变的文件夹,它正在复制。 (这是我们的应用程序,例如,即使在连续部署两次的情况下,我也会遇到无caching的情况)。
有没有办法让Docker告诉我它认为改变了什么?
我知道Docker用来检查时间戳,但在Docker 1.8中已经修复了,我在Docker 1.9.x上。
使用二进制search,使用.dockerignore 。
将一半的文件添加到.dockerignore ,然后构build容器。 如果它使用caching进行COPY步骤,那么您知道已更改的文件位于您忽略的设置中,否则您知道它在另一半。 重复这个testing与一组文件有变化,直到它只是一个文件/文件夹。
(亲爱的lazyweb:找出一些方法来扩展Docker,使其不那么痛苦!)