我正在尝试设置一个 docker 容器并用于RUN ls帮助调试。但是,当我运行时RUN ls,docker 打印出以下内容:
---> Using cache
---> 96223b1b0748
Run Code Online (Sandbox Code Playgroud)
我希望它注销文件夹中的文件。有谁知道会发生什么?
这是我的完整 Dockerfile:
FROM node:latest
WORKDIR /app
COPY app .
RUN ls
Run Code Online (Sandbox Code Playgroud)
提前致谢!
Docker 会缓存最近构建的层,以便后续构建可以重用它们。
打破这种行为的最简单方法是在构建期间使用该--no-cache标志:
docker build --no-cache ...
Run Code Online (Sandbox Code Playgroud)
然而,这将使所有缓存的层无效。如果您仍然想在指令之前使用缓存层RUN ls,则可以在其前面添加以下行:
ARG CACHE_TS=default_ts
Run Code Online (Sandbox Code Playgroud)
然后在每个新构建中为该参数赋予新值:
docker build --build-arg CACHE_TS=$(date +%s) ...
Run Code Online (Sandbox Code Playgroud)
请参阅此 Github 问题:https://github.com/moby/moby/issues/22832
| 归档时间: |
|
| 查看次数: |
11213 次 |
| 最近记录: |