Docker RUN ls显示缓存的文件

时间:2018-04-12 03:58:50

标签: node.js docker

我正在尝试设置一个docker容器并使用RUN ls来帮助调试。但是,当我运行RUN ls时,docker会打印出以下内容:

 ---> Using cache
 ---> 96223b1b0748

我希望它能够注销文件夹中的文件。有谁知道可能会发生什么?

这是我的完整Dockerfile:

FROM node:latest 

WORKDIR /app

COPY app .

RUN ls

提前致谢!

1 个答案:

答案 0 :(得分:3)

Docker缓存最近构建的层,以便后续构建可以重用它们。

打破此行为的最简单方法是在构建期间使用--no-cache标志:

docker build --no-cache ...

但是这会使所有缓存的图层无效。如果您仍希望在RUN ls指令之前为层使用缓存层,则可以在其前面添加以下行:

ARG CACHE_TS=default_ts

然后在每个新构建中为此参数赋予一个新值:

docker build --build-arg CACHE_TS=$(date +%s) ...

请参阅此Github问题:https://github.com/moby/moby/issues/22832