配置 Visual Studio 容器工具
使用 Visual Studio 设置,可以控制将 Visual Studio 与 Docker 容器结合使用的一些方面,包括在使用 Docker 容器时影响性能和资源使用情况的设置。
容器工具设置
从主菜单中,选择“工具”>“选项”,然后展开“容器工具”>“设置”。 随即出现容器工具设置。
容器工具常规设置:
容器工具“单个项目”和“Docker Compose”设置:
下表可帮助确定如何设置这些选项。
下表描述了“常规”设置:
名称 | 默认设置 | 适用于 | 描述 |
---|---|---|---|
根据需要安装 Docker Desktop | 提醒我 | 单个项目、Docker Compose | 选择是否需要在未安装 Docker Desktop 时提醒你。 |
信任 ASP.NET Core SSL 证书 | 提醒我 | ASP.NET Core 2.x 项目 | 设置为“提醒我”后,如果 localhost SSL 证书不受信任,则 Visual Studio 将在每次运行 ASP.NET Core 2.x 项目时提示你。 |
下表描述了“单个项目”和“Docker Compose”设置:
名称 | 默认设置 | 适用于 | 描述 |
---|---|---|---|
在项目打开时拉取所需的 Docker 映像 | True | 单个项目、Docker Compose | 为了在加载项目时提高性能,Visual Studio 将在后台启动 Docker 拉取操作,以便在准备好运行代码时,映像已下载或正在下载。 如果只需加载项目和浏览代码,可以将其设置为“False”,以避免下载不需要的容器映像。 |
在项目打开时拉取更新的 Docker 映像 | .NET Core 项目 | 单个项目、Docker Compose | 打开项目后,检查是否有映像更新,如果有便下载更新。 |
在项目打开时运行容器 | True | 单个项目、Docker Compose | 同样,为了提高性能,Visual Studio 会提前创建一个容器,以便在构建和运行容器时随时可使用该容器。 如果要控制创建容器的时间,请将其设置为“False”。 |
在项目关闭时删除容器 | True | 单个项目、Docker Compose | 如果希望在关闭解决方案或关闭 Visual Studio 后保留解决方案的容器,请将其设置为“False”。 |
名称 | 默认设置 | 适用于 | 描述 |
---|---|---|---|
在项目打开时拉取所需的 Docker 映像 | True | 单个项目、Docker Compose | 为了在加载项目时提高性能,Visual Studio 将在后台启动 Docker 拉取操作,以便在准备好运行代码时,映像已下载或正在下载。 如果只需加载项目和浏览代码,可以将其设置为“False”,以避免下载不需要的容器映像。 |
在项目打开时拉取更新的 Docker 映像 | .NET Core 项目 | 单个项目、Docker Compose | 打开项目后,检查是否有映像更新,如果有便下载更新。 |
在项目打开时运行容器 | True | 单个项目、Docker Compose | 同样,为了提高性能,Visual Studio 会提前创建一个容器,以便在构建和运行容器时随时可使用该容器。 如果要控制创建容器的时间,请将其设置为“False”。 |
在项目关闭时删除容器 | True | 单个项目、Docker Compose | 如果希望在关闭解决方案或关闭 Visual Studio 后保留解决方案的容器,请将其设置为“False”。 |
在容器中运行服务以启用 Azure 身份验证 | True | 单个项目、Docker Compose | Visual Studio 17.6 或更高版本在容器中运行有助于 Azure 身份验证的令牌代理服务,以便应用可以在开发期间使用 Azure 服务。 如果不希望安装并运行此服务,请设置为 False 。 |
在容器中运行服务以启用热重载 | True | 单个项目、Docker Compose | 如果不希望安装并运行此服务,请设置为 False 。 热重载服务在 Visual Studio 2022 版本 17.7 及更高版本中可用,仅支持在不调试的情况下运行 (Ctrl+F5)。 |
“容器工具窗口”设置控制应用于“容器”工具窗口的设置,该窗口显示有关 Docker 容器和映像的信息 。 请参阅使用“容器”窗口
下表对“容器”窗口设置进行了说明:
名称 | 默认设置 | 说明 |
---|---|---|
确认后再删除容器 | 始终 | 控制在删除未使用的容器时是否提示你。 |
确认后再删除映像 | 始终 | 控制在删除未使用的映像时是否提示你。 |
请确认之后再删除容器 | 始终 | 控制在删除容器时是否提示你。 |
请确认之后再删除映像 | 始终 | 控制在删除映像时是否提示你。 |
在运行大量映像之前进行确认 | 始终 | 控制在一次从 10 个以上的映像中启动容器之前是否提示你。 |
警告
如果 localhost
SSL 证书不受信任且选中该框以禁止出现提示,则 HTTPS Web 请求可能会在应用或服务中在运行时失败。 在这种情况下,请取消选中“不提示”复选框,运行项目并在提示时指示信任。
配置 Azure 身份验证
如果你的应用使用 Azure 服务,则在容器中运行时,它需要适当的身份验证凭据,以便向 Azure 服务进行身份验证。 在开发过程中,你通常可以使用自己的 Azure 凭据而不是应用在生产环境中使用的凭据,但容器环境需要这些凭据才能对正在运行的容器化应用有用。
从 Visual Studio 2022 版本 17.6 开始,在单容器和 Docker Compose 项目中,你的容器中会部署并运行令牌代理服务,以帮助你的应用和服务在 Azure 中进行身份验证。 此功能需要 Azure 标识 1.9.0 或更高版本。 启用此服务后,你可以自动使用大多数 Azure 服务,而无需在容器中进行任何其他配置或设置。 具体而言,你的代码可以使用 DefaultAzureCredential
和 VisualStudioCredential
对 Azure 服务进行身份验证,其方式与在容器外部进行身份验证相同。 请参阅 Azure 标识 1.9.0 自述文件。
若要禁用此功能,请将本文前面所述的“工具”>“选项中的设置“在容器中运行服务以启用 Azure 身份验证”设为 False
。
注意
如果你使用令牌代理并启用了某些容器工具诊断日志,则存在潜在的安全问题。 启用日志记录后,身份验证凭据可以记录为纯文本。 这些日志由某些环境变量启用。 对于单个容器项目,环境变量为 MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED
,随后会记录到 %tmp%\Microsoft.VisualStudio.Containers.Tools
中。 对于 Docker Compose 项目,环境变量为 MS_VS_DOCKER_TOOLS_LOGGING_ENABLED
,随后会记录在 %tmp%\Microsoft.VisualStudio.DockerCompose.Tools
中。
相关内容
通过此概述详细了解如何使用 Visual Studio 中的容器。