Files
docker_practice/21_case_devops/21.6_vsCode.md
2026-02-22 16:04:41 -08:00

1.5 KiB
Raw Blame History

21.6 VS Code 中使用 Docker

VS Code 的 Dev Containers 可以把“开发环境”放进容器,同时保留 VS Code 的编辑、补全、调试体验。

本节提供一个最小可用示例:把任意项目(以 Go 为例)变成“打开即开发”的容器化环境。

21.6.1 前置条件

  • 安装 Docker Desktop或 Linux 上的 Docker Engine
  • VS Code 安装扩展Dev Containersms-vscode-remote.remote-containers)。

21.6.2 最小示例:.devcontainer/devcontainer.json

在项目根目录创建 .devcontainer/devcontainer.json

{
  "name": "docker-practice-dev",
  "image": "golang:1.22",
  "workspaceFolder": "/work",
  "workspaceMount": "source=${localWorkspaceFolder},target=/work,type=bind",
  "customizations": {
    "vscode": {
      "extensions": [
        "golang.Go"
      ]
    }
  },
  "postCreateCommand": "go version"
}

然后在 VS Code 命令面板选择:

  • Dev Containers: Reopen in Container

VS Code 会拉取镜像并启动容器,随后你就可以在容器内运行:

go test ./...

21.6.3 结合 Docker Compose可选

如果项目同时依赖数据库/缓存(例如 Postgres/Redis可以使用 dockerComposeFile 把依赖一起拉起。

示例(devcontainer.json 片段):

{
  "name": "compose-dev",
  "dockerComposeFile": [
    "../docker-compose.yml"
  ],
  "service": "dev",
  "workspaceFolder": "/work"
}

注意:service 需要对应 compose 里的服务名。