visual studio docker compose 使用缓存

问题描述 投票:0回答:1

.net webapi 应用程序,使用 docker-compose

一个据说快速而简单的问题 - 如何使

visual studio
使 docker 映像无效并重建它?我尝试清除解决方案以及从 docker 本身中删除图像容器/本身 - 但是
visual studio
继续使用某种类型的 cache

作为比较 - 当我手动执行命令时:

docker-compose 构建 --no-cache

我收到一个错误,指出我尝试的文件

COPY
不存在。这是我希望在视觉工作室中看到的预期行为和错误!

复制[“fileThatDoesNotExist.config”,“。”]

当我在 VisualStudio 中重建/清理/运行解决方案并使用

docker-compose
运行配置文件时 - 它会继续启动解决方案,没有任何错误!

enter image description here

build order
控制台窗口中我看到以下日志

2>#5 [myservice base 2/2] WORKDIR /app
2>#5 CACHED
2>#6 [myservice] exporting to image

他继续使用缓存是没有意义的,因为我已经更改了

dockerfile
的内容并且需要重建(并且预计会失败)

在 docker-compose

dcproj
文件中我尝试设置

<DockerComposeBuildArguments>--no-cache</DockerComposeBuildArguments>

但是没有任何效果

所以我的问题是 - 如何让视觉工作室强行重建整个图像并失败?或者,我可以做什么来清理缓存? (我也不想

prune
整个docker基础设施)

docker visual-studio docker-compose .net-8.0
1个回答
0
投票

这可能是 Visual Studio 使用 Fast 模式,这是调试配置中的默认模式。在快速模式下,VS 不会构建完整的映像,而是使用卷安装来引入本地构建的代码(顾名思义,这要快得多)。如果您希望 VS 构建完整的 Dockerfile,您可以在 .dcproj 中将属性

DockerDevelopmentMode
设置为
Regular

© www.soinside.com 2019 - 2024. All rights reserved.