Visual Studio Code 中的 Docker

Docker扩展使您可以轻松地在 Visual Studio Code构建、管理和部署容器化应用程序。

本页提供了 Docker 扩展功能的概述;使用侧面菜单了解有关感兴趣主题的更多信息。如果您刚刚开始 Docker 开发,请先尝试Docker 教程以了解关键的 Docker 概念。

安装

在您的计算机上安装 Docker并将其添加到系统路径。

在 Linux 上,您还应该为将用于运行 VS Code 的非 root 用户帐户启用 Docker CLI 。

要安装扩展,请打开扩展视图 ( ⇧⌘X (Windows、Linux Ctrl+Shift+X ) ),搜索docker以筛选结果并选择 Microsoft 编写的 Docker 扩展。

选择 Docker 扩展

编辑 Docker 文件

在编辑和文件时,您可以通过单击⌃Space(Windows、Linux Ctrl+Space来获取IntelliSense ,并提供常用命令的补全和语法帮助。Dockerfiledocker-compose.yml

Dockerfile 的 IntelliSense

此外,您可以使用问题面板 ( ⇧⌘M (Windows、Linux Ctrl+Shift+M ) ) 查看Dockerfiledocker-compose.yml文件的常见错误。

生成 Docker 文件

您可以通过打开命令面板 ( ⇧⌘P (Windows、Linux Ctrl+Shift+P ) ) 并使用Docker:将 Docker 文件添加到工作区命令来将 Docker 文件添加到工作区。该命令将生成Dockerfile文件.dockerignore并将它们添加到您的工作区。该命令还会询问您是否也想添加 Docker Compose 文件,但这是可选的。

该扩展可以为最流行的开发语言(C#、Node.js、Python、Ruby、Go 和 Java)搭建 Docker 文件,并相应地自定义生成的 Docker 文件。创建这些文件时,我们还会创建必要的工件来为 Node.js、Python 和 .NET (C#) 提供调试支持。

Docker 资源管理器

Docker 扩展为 VS Code 提供了 Docker Explorer 视图。Docker Explorer 允许您检查和管理 Docker 资产:容器、映像、卷、网络和容器注册表。如果安装了 Azure 帐户扩展,您也可以浏览 Azure 容器注册表。

右键单击菜单提供对每种类型资产的常用命令的访问。

Docker 资源管理器上下文菜单

您可以通过使用鼠标向上或向下拖动 Docker Explorer 窗格来重新排列它们,并使用上下文菜单隐藏或显示它们。

自定义 Docker 资源管理器

Docker 命令

许多最常见的 Docker 命令都内置在命令面板中:

Docker 命令

您可以运行 Docker 命令来管理映像网络映像注册表Docker Compose。此外,Docker: Prune System命令将删除已停止的容器、悬空的映像以及未使用的网络和卷。

Docker 组合

Docker Compose允许您使用 Docker 定义和运行多容器应用程序。我们的Docker 扩展中的Compose 语言服务docker-compose.yml为您在创作文件时提供 IntelliSense 和 Tab 补全功能。按⌃Space(Windows、Linux Ctrl+Space查看有效 Compose 指令的列表。

Docker Compose 智能感知

当您将鼠标悬停在 Docker Compose YAML 属性上时,我们还会提供工具提示。

Docker Compose 工具提示

虽然Compose Up允许您一次运行所有服务,但我们的新功能Compose Up - Select Services允许您选择要运行的服务的任意组合。

Docker Compose Up - 选择子集

命令完成后Compose Up,导航到 Docker Explorer 以将您的服务作为 Compose 组查看。这允许您以组的形式启动、停止和查看每个服务的日志。

Docker 撰写组

使用图像注册表

您可以显示内容并从Azure 容器注册表Docker HubGitLab等推送、拉取或删除映像:

Azure 容器注册表内容

Azure 容器注册表中的映像可以直接从 VS Code 部署到 Azure 应用服务或 Azure 容器应用。请参阅部署到 Azure以开始使用。有关如何向注册表进行身份验证并使用注册表的更多信息,请参阅使用容器注册表

调试容器内运行的服务

您可以调试使用 .NET (C#) 和 Node.js 构建的在容器内运行的服务。该扩展提供了自定义任务,有助于在调试器下启动服务并将调试器附加到正在运行的服务实例。有关更多信息,请参阅调试容器化应用程序自定义 Docker 扩展

Azure CLI 集成

您可以使用 Docker 映像在独立的基于 Linux 的容器中启动 Azure CLI(命令行界面):运行 Azure CLI命令。这使你可以在隔离环境中访问完整的 Azure CLI 命令集。有关可用命令的详细信息,请参阅Azure CLI 入门

下一步

继续阅读以了解更多信息