Docker 命令 COPY 不复制更新的文件

Docker command COPY doesn't copy updated files

我的目标是使用 docker 处理一个项目,而不必在每次稍微修改一个文件时都不断地重建我的整个项目:
下面的文件(不完整)有 2 个状态,一个已经更新的版本,我将称之为 Version_0 看起来像这样:

<#modelInf> rdf:type ja:InfModel ;
#    ja:content [ja:externalContent <file:/fuseki/ontologies/server_famille.ttl> ; ] ;
    ja:reasoner   [
        ja:reasonerClass    "openllet.jena.PelletReasonerFactory" ; ]
  .  

更新后效果很好,但后来我决定取消注释一行,这个文件我将调用 Version_1 :

<#modelInf> rdf:type ja:InfModel ;
    ja:content [ja:externalContent <file:/fuseki/ontologies/server_famille.ttl> ; ] ;
    ja:reasoner   [
        ja:reasonerClass    "openllet.jena.PelletReasonerFactory" ; ]
  .  

我的 docker 文件的重要部分如下所示:

FROM [...]

RUN mkdir -p /fuseki
RUN mkdir -p /fuseki/configuration/
WORKDIR /fuseki

COPY server/configuration/db_tdb.ttl configuration

我还 运行 一个 docker-compose 文件 [已编辑]

version: "3"

services:

  jena-fuseki-server:
    hostname: jena-fuseki
    build:
      context: .
      dockerfile: server.Dockerfile
    restart: always
    ports:
      - 3030:3030
    environment:
      - ADMIN_PASSWORD=admin
      - FUSEKI_DATASET_1=ds
    command: cat /fuseki/configuration/db_tdb.ttl

问题好像是我第一次运行$docker-compose up --build效果不错,复制Version_0对了,修改后,我重新 运行 $docker-compose up --build 并且我希望 Version_1 被复制的文件。发生的事情是,在通过 docker exec -it [name] bash 验证导航我的图像并执行 cat db_tdb.ttl 之后,它仍然显示 Version_0。测试我的应用程序确认 Version_0 是 运行ning.
[已编辑] 我添加的 cat 命令显示 Version_0 也是复制的

What have you tried ?

Honorable mentions

由于这是一个大项目,我无法决定使用 运行 docker system prune -a 或使用 --no-cache,因为这会浪费大量时间。 我觉得它在某些时候有效,但我无法理解原因,也无法保持一致性。 谢谢。

尝试 docker-compose down 然后 docker-compose up --build

似乎首先删除容器修复了一些隐藏的缓存问题。