【问题标题】:Docker RUN ls shows cached filesDocker RUN ls 显示缓存文件
【发布时间】:2018-04-12 12:24:00
【问题描述】:

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

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

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

这是我的完整 Dockerfile:

FROM node:latest 

WORKDIR /app

COPY app .

RUN ls

提前致谢!

【问题讨论】:

标签: node.js docker


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 2012-10-24
    • 2021-12-18
    • 2021-12-09
    相关资源
    最近更新 更多