• MetaDescription: Find out how to get the best out of Visual Studio Code and Docker.
  • 使用Docker工作
    • 安装Docker扩展插件
    • Dockerfiles
    • Docker compose

    Order: 11
    Area: languages
    TOCTitle: Dockerfile
    ContentId: 42F8B9F8-BD03-4159-9479-17C5BDE30531
    PageTitle: Working with Dockerfiles in Visual Studio Code
    DateApproved: 4/14/2016

    MetaDescription: Find out how to get the best out of Visual Studio Code and Docker.

    使用Docker工作

    Docker 是现今十分热门的容器引擎,可以让你轻松地打包、部署和使用应用程序以及服务。无论你是一个经验丰富的Docker开发者还是刚刚开始学习它,Visual Studio Code都可以让你轻松地创造Dockerfiledocker-compose.yml两个文件到你的开发目录中。

    安装Docker扩展插件

    VS Code通过插件的方式支持Docker的使用。安装这一扩展插件,只需要按下kb(workbench.action.showCommands),然后输入”ext install”并且运行Extensions: Install Extension命令来获得目前支持的插件列表。现在输入docker搜索所需插件然后选择Dockerfile and Docker Compose File (yml) Support插件。

    Select Docker extension

    Dockerfiles

    通过Docker,你可以指定一系列的命令,通过它们在Dockerfile中建立镜像。一个Dockerfile是包含着一系列安装指令的文本脚本。

    VS Code 很清楚Dockerfiles的结构以及可以使用的指令集,这意味着当你使用VS Code编辑这些文件时它可以给予你很多的经验指导。

    1. 在你的工作目录中创建一个新的文件命名为Dockerfile
    2. 按下kb(editor.action.triggerSuggest)来获得Dockerfile中命令的补全

      Dockerfile snippets

    3. 按下kbstyle(Tab)在段落中不同的区域移动。比如说,在COPY部分你可以输入source,接着按下kbstyle(Tab)移动到dest部分。

      Dockerfile snippet navigation

    除了编辑Dockerfile时的各种功能,当你放置鼠标在一个Docker命令上的时候,Visual Studio Code将会提供关于这个命令的描述。比如说,当你的鼠标放到WORKDIR上面的时候你将可以看到以下描述。

    Dockerfile hover tooltip

    想要获取更多关于Dockerfiles的信息,可以进入在docker.com上面的Dockerfile best practices

    Docker compose

    Docker Compose让你可以通过Docker定义以及运行多容器应用。你可以通过一个叫做docker-compose.yml的文件来定义容器的外形。

    对于docker-compose.yml,Visual Studio Code的功能同样也是十分丰富的。它可以为合法的Docker compose指令提供IntelliSense,以及帮助你查询Docker Hub找到适合的镜像。

    1. 在你的工作目录中创建一个名为docker-compose.yml的新文件
    2. 定义一个新的服务成为web:
    3. 在第二行,通过kb(editor.action.triggerSuggest)引入IntelliSense来查看所有合法的指令列表

      Docker Compose IntelliSense

    1. 对于image指令,你可以再次输入kb(editor.action.triggerSuggest)来完成,而且VS Code会帮你在Docker Hub上查询公开的镜像。

      Docker Compose image suggestions

    VS Code 第一次使用会根据一些元数据比如说star的数量和描述去为你显示一系列热门的镜像。如果你继续输入,VS code会查询Docker Hub的索引去找到更加符合的镜像,包括搜索公开的profiles。比如说,搜索Microsoft会显示所有微软的镜像。

    Docker Compose Microsoft image suggestions