使用ADD命令和Dockerfile检查缓存

时间:2019-05-20 17:54:43

标签: docker http dockerfile bitbucket docker-run

我认为Bitbucket发送的是HTTP标头。我在Dockerfile中有这个文件:

ADD https://bitbucket.org/teros/datavana/raw/"$commit"/moodwire/mwapi/requirements.txt  '/teros/temp/requirements.txt'
ADD https://bitbucket.org/teros/datavana/raw/"$commit"/moodwire/mwapi/constraints.txt '/teros/temp/constraints.txt'

但是问题是这些文件没有更改,但是Docker不缓存它们-它重新运行它们:

Step 32/63 : ARG commit
 ---> Using cache
 ---> a60e2b6be500
Step 33/63 : ADD https://bitbucket.org/teros/datavana/raw/"$commit"/moodwire/mwapi/requirements.txt  '/teros/temp/requirements.txt'
Downloading  1.545kB
 ---> 2e3b379a1ac4
Step 34/63 : ADD https://bitbucket.org/teros/datavana/raw/"$commit"/moodwire/mwapi/constraints.txt '/teros/temp/constraints.txt'
Downloading  1.545kB

是因为Bitbucket没有响应HTTP 300代码吗?也许有一个查询参数,我可以使用类似的东西:

https://bitbucket.org/teros/datavana/raw/"$commit"/moodwire/mwapi/constraints.txt?use_cache=yes

还是类似的东西?

1 个答案:

答案 0 :(得分:1)

Docker正在查看Last-Modified标头来确定缓存行为。

https://docs.docker.com/engine/reference/builder/#add