首页 > 解决方案 > Docker项目在什么情况下重建?

问题描述

我已经构建了一个应用程序,其中包含许多 Docker 容器,以便在业余时间了解有关 Docker 的更多信息。在我的 Mac 上,永远不会重建 Docker 项目,即我在 Visual Studio 2019 中调试应用程序,并且应用程序(网页)每次都会立即出现。

在我的 Windows PC 上,该应用程序有时会像 Mac 一样立即出现。但是,有时我会在输出窗口中看到:

构建 mvcwebapp

建筑服务1

建筑服务2

建筑服务3

ETC

构建需要很长时间(超过两个小时)。我有两个问题:

  1. 为什么建造需要这么长时间?图像存在 - 重建容器似乎需要很长时间。
  2. 在什么情况下重建 Docker 项目(如果相关,特别是在 Windows PC 上)?

我的第一个想法是:

  1. Docker 重新启动和/或
  2. 当 Visual Studio 重新启动和/或
  3. 当 PC 重新启动和/或
  4. 删除 PC 上的文件时

但是,我的测试并没有证明任何结论。

标签: .netdocker

解决方案


我发现这是因为我使用的是默认.dockerignore文件。我将 .dockerignore 的内容更改为:

.dockerignore
.env
.git
.gitignore
.vs
.vscode
docker-compose*.yml
docker-compose.dcproj
*.sln
*.md
hosts
LICENSE
*.testsettings
vsts-docs
test
ServiceFabric
readme
k8s
img
docs
deploy
Components
cli-windows
cli-mac
cli-linux
**/bin/
**/obj/
**/node_modules/
**/bower_components/
**/wwwroot/lib/*
global.json
**/appsettings.localhost.json
src/Web/WebSPA/wwwroot/
packages/
csproj-files/
test-results/
TestResults/
src/Mobile/

然后构建时间从几个小时减少到几秒钟。

我打算删除这个问题,但是我在 Docker 网站上看到很多类似的问题,但没有答案。因此,我在这里回答,希望它会对某人有所帮助。


推荐阅读