我正在尝试设置一个docker容器并使用RUN ls
来帮助调试。但是,当我运行RUN ls
时,docker会打印出以下内容:
---> Using cache
---> 96223b1b0748
我希望它能够注销文件夹中的文件。有谁知道可能会发生什么?
这是我的完整Dockerfile:
FROM node:latest
WORKDIR /app
COPY app .
RUN ls
提前致谢!
答案 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