一尘不染

Docker RUN ls显示缓存的文件

docker

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

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

我希望它注销该文件夹中的文件。有人知道会发生什么吗?

这是我完整的Dockerfile:

FROM node:latest

WORKDIR /app

COPY app .

RUN ls

提前致谢!


阅读 649

收藏
2020-06-17

共1个答案

一尘不染

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

2020-06-17