我有很少的git repos是构建应用程序所必需的。我编写了一个Dockerfile来克隆repo,checkout到开发分支并运行命令来构建应用程序。我能够使用此dockerfile正确构建docker镜像。但现在我想使用一些shell脚本" update.sh"因为我在dockerfile中有多个git repos来更新,所以应该更新代码并在更新的代码上进行构建。我试图在Dockerfile中保持相同,但它不是每次都更新,第一次更新,以及从下次从缓存中获取该图像。
基础设施详情: 我有8个git回购如下:
A-->B-->C-->D and so on
我制作了一个克隆版本的脚本更新其他存储库并保存在A. 问题是当我运行脚本时,它第一次运行时,但从下次它从缓存中获取内容。
有人可以帮助我完成任务。
答案 0 :(得分:0)
你可以用以下代码构建Dockerfile:
docker build --no-cache
避免缓存问题。
答案 1 :(得分:0)
我用Google搜索并找到解决方案here。它对我有用。
FROM foo
ARG CACHE_DATE=2016-01-01
RUN git clone ...
docker build --build-arg CACHE_DATE=$(date) ....