我知道 docker 可以--no-cache=true选择强制干净地构建 docker 映像。然而,对我来说,我真正想做的就是强制在我的 dockerfile 中运行最后一步,这是一个CMD运行 shell 脚本的命令。
无论出于何种原因,当我修改该脚本并保存它时,典型的 docker 构建将重用该步骤的缓存版本。有没有办法强制 docker 不这样做,就在那个部分?
请注意,这将使该行之后所有Dockerfile 指令的缓存无效。这是在Issue 1996(尚未实施)中要求的。
在当前的解决方法是:
FROM foo
ARG CACHE_DATE=2016-01-01
<your command without cache>
docker build --build-arg CACHE_DATE=$(date) ....
Run Code Online (Sandbox Code Playgroud)
这将使ARG CACHE_DATE每次构建的行之后的缓存无效。
acdcjunior在评论中报告必须使用:
docker build --build-arg CACHE_DATE=$(date +%Y-%m-%d_%H:%M:%S)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3213 次 |
| 最近记录: |