Docker compose即使在重建后也不使用最新版本
我有一个奇怪的问题,昨天才开始。 通常,我有一个简单的工作流,每当我有一个新的更新,我就会构建新的容器,并重新启动docker 因此:Docker compose即使在重建后也不使用最新版本,docker,docker-compose,Docker,Docker Compose,我有一个奇怪的问题,昨天才开始。 通常,我有一个简单的工作流,每当我有一个新的更新,我就会构建新的容器,并重新启动docker 因此: bash docker编写构建 然后我做docker写作;docker compose up。 并且使用最新版本 但是,出于某种原因,它继续使用旧版本 在Dockerfile中,我有两行代码: 复制。 运行npm运行构建 真正让我恼火的是,在stdout中,我可以看到它正在编写新文件,因此使用最新版本的代码(我知道这一点,因为有一些新文件以前不存在,它们正在s
bash docker编写构建
然后我做docker写作;docker compose up
。
并且使用最新版本
但是,出于某种原因,它继续使用旧版本
在Dockerfile中,我有两行代码:
复制。
运行npm运行构建
真正让我恼火的是,在stdout中,我可以看到它正在编写新文件,因此使用最新版本的代码(我知道这一点,因为有一些新文件以前不存在,它们正在stdout中登录)
但是,一旦构建完成,我进入容器,我可以看到它使用的是旧版本的代码
所以,对我来说,这感觉就像是在正确构建,只是使用了不正确的版本
我想一定是出了什么问题,于是我删除了所有容器,删减了卷,重新启动了ubuntu,然后再试一次。成功了
但是,问题又重新开始了,我似乎不知道发生了什么
帮忙
编辑:
我应该提到的是,我已经尝试了docker compose-up--build,我已经尝试了强制创建和无缓存标志。我还是不走运。我发现这个问题与音量有关。 因为我现在创建了一个卷,其中两个不同的容器共享代码,而不是使用新代码,所以它总是使用相同的代码 所以要解决这个问题,只需要docker compose down上的
-v
(docker compose down-v
)
这删除了所有卷,解决了问题。尝试
docker compose up--build--force recreate
您的docker compose.yml
文件中有什么?(是否有卷:
替换图像代码?)?