泊坞窗未拾取更改的文件

时间:2020-07-24 20:07:55

标签: docker dockerfile

我有一个看起来像这样的dockerfile

FROM debian:bullseye-slim

RUN apt-get update; \
        apt-get install -y libssl-dev; \
        apt-get clean

COPY ./runner /runner

CMD /runner

我这样构建图像:

docker build -f RunnerDockerfile -t $(RUNNER_IMG) target/release

即使我的可执行文件(运行程序)发生了变化,它也没有被Docker接收,即Docker使用了缓存。

根据我对文档的理解,如果COPY语句中文件的哈希值发生更改,则应由Docker对其进行提取。

示例运行

md5sum target/release/runner
32169761853677f5f7bc03acb7bbe19b  target/release/runner

然后我进行更改:

md5sum target/release/runner
0075f725ce4f2cd779706b2fb9f83218  target/release/runner

重建Docker映像时我得到了

docker build -f RunnerDockerfile -t "runner:latest" target/release
Sending build context to Docker daemon  513.4MB
Step 1/4 : FROM debian:bullseye-slim
 ---> f8000d381a2c
Step 2/4 : RUN apt-get update;         apt-get install -y libssl-dev;         apt-get clean
 ---> Using cache
 ---> fcd7212dd477
Step 3/4 : COPY ./runner /runner
 ---> Using cache
 ---> 1a79d547a9b5
Step 4/4 : CMD /runner
 ---> Using cache
 ---> a45a0fd57dd9
Successfully built a45a0fd57dd9
Successfully tagged runner:latest

即它正在将缓存用于COPY。

我做错了还是这是一个错误?

0 个答案:

没有答案