添加 Docker 支持
通过在“解决方案资源管理器”中选择“添加” > “Docker 支持”来向现有项目添加 Docker 支持。
当添加或启用 Docker 支持时,Visual Studio 会向项目添加以下各项:
Dockerfile** 文件
.dockerignore 文件
对 Microsoft.VisualStudio.Azure.Containers.Tools.Targets 的 NuGet 包引用
查看容器
菜单路径“查看” > “其他 Windows” > “容器”
“环境”选项卡显示容器中的环境变量 。 对于应用的容器,可以通过多种方式设置这些变量,例如,在 Dockerfile 中,在 .env 文件中,或使用 Docker 命令启动容器时使用 -e 选项进行设置。
备注
对环境变量所做的任何更改都不会实时反映出来。 此外,此选项卡中的环境变量是容器上的系统环境变量,不反映应用程序的本地用户环境变量。
在本地 Docker 容器中调试应用
在 3.0 及以上版本的 .NET Core 中的默认模板不支持编辑代码和刷新运行的站点。 为了启用此功能,请添加 NuGet 包 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 在 Startup.cs 中,在 ConfigureServices
方法的代码中添加对扩展方法 IMvcBuilder.AddRazorRuntimeCompilation
的调用。 由于你只需在调试模式中启用编辑代码和刷新功能,因此请按如下所示的方法进行编码:
public Startup(IConfiguration configuration, IWebHostEnvironment webHostEnvironment) { Configuration = configuration; Env = webHostEnvironment; }
public IWebHostEnvironment Env { get; set; } public void ConfigureServices(IServiceCollection services) { IMvcBuilder builder = services.AddRazorPages(); #if DEBUG if (Env.IsDevelopment()) { builder.AddRazorRuntimeCompilation(); } #endif // code omitted for brevity }
容器重复使用
在开发周期中,Visual Studio 在你更改 Dockerfile 后仅重新生成容器映像和容器本身。 如果不更改 Dockerfile,Visual Studio 将重复使用以前运行的容器。
如果你手动修改了容器,并希望使用干净的容器映像重启,请使用 Visual Studio 中的“Build” > “Clean”命令,然后按常规操作生成 。
多阶段生成
https://docs.microsoft.com/zh-cn/visualstudio/containers/container-build?view=vs-2019#multistage-build
Docker Compose 支持
当你想要使用 Docker Compose 撰写多容器解决方案时,请向项目添加容器业务流程支持。 这样就可以同时运行和调试一组容器(整个解决方案或项目组)(如果已在同一个 docker-compose.yml** 文件中定义这些容器)。
若要使用 Docker Compose 添加容器业务流程支持,请右键单击“解决方案资源管理器”**** 中的解决方案或项目节点,然后选择“添加”>“容器业务流程支持”****。 然后,选择“Docker Compose”**** 以管理容器。
向项目添加容器业务流程支持后,会看到添加到项目的 Dockerfile**(如果尚无)以及添加到“解决方案资源管理器”**** 中的某个解决方案的 docker-compose**** 文件夹,如下所示:
使用 Docker Compose 创建多容器应用
https://docs.microsoft.com/zh-cn/visualstudio/containers/tutorial-multicontainer?view=vs-2019