探索VSCode的Dev Containers功能

14次阅读

vscode的Dev Containers功能支持三种方式配置开发环境:一、通过devcontainer.json声明镜像与扩展;二、基于dockerfile自定义构建镜像;三、连接已运行容器实例。

探索VSCode的Dev Containers功能

如果您希望在隔离且可复现的开发环境中编写代码,VSCode 的 Dev Containers 功能允许您将整个开发环境定义为代码,并在容器中运行编辑器扩展与工具链。以下是使用该功能的具体方式:

本文运行环境:macBook Pro,macOS Sequoia。

一、通过 devcontainer.json 配置容器环境

此方法利用项目根目录下的 devcontainer.json 文件声明容器镜像、预装工具端口转发等配置,使 VSCode 自动拉取并启动对应容器。

1、在项目根目录创建 .devcontainer 文件夹。

2、在该文件夹内新建 devcontainer.json 文件。

3、写入基础配置,例如指定镜像为 mcr.microsoft.com/vscode/devcontainers/python:3.11。

4、添加 extensions 字段,填入 ms-python.python 和 ms-toolsai.jupyter 等必需扩展 ID。

5、保存后,按 Cmd+Shift+P 调出命令面板,输入 Remote-Containers: Reopen in Container 并执行。

二、基于 Dockerfile 构建自定义开发镜像

当官方镜像无法满足特定依赖或构建流程时,可通过本地 Dockerfile 定义完整构建步骤,实现对底层系统、工具链和环境变量的完全控制。

1、在 .devcontainer 目录下新建 Dockerfile。

2、以 FROM python:3.11-slim 为基底镜像开始编写。

3、RUN apt-get update && apt-get install -y curl gnupg && rm -rf /var/lib/apt/lists/*。

4、copy requirements.txt /tmp/requirements.txt。

5、RUN pip install –no-cache-dir -r /tmp/requirements.txt。

6、在 devcontainer.json 中将 image 字段替换为 build: { “dockerfile”: “Dockerfile” }。

三、复用现有容器实例进行开发连接

此方式适用于已运行的容器(如通过 docker run 启动),无需重建环境,仅需配置 VSCode 连接到其内部文件系统与终端。

1、确保目标容器正在运行,并已挂载项目目录到容器内路径,例如 /workspace。

2、执行 docker inspect 容器ID 获取 IP 地址与端口映射信息。

3、在 VSCode 命令面板中选择 Remote-Containers: Attach to Running Container…。

4、从列表中选择目标容器,等待 VSCode 挂载远程文件系统并安装服务器组件。

5、确认左侧资源管理器显示容器内路径,终端启动于容器上下文。

text=ZqhQzanResources