Windows 上通过 VScode 配置 Docker
Windows 上通过 VScode 配置Docker
引言
在现代软件开发中,容器化技术已经成为确保开发环境一致性的重要手段。本文将详细介绍如何使用 VS Code 的 Dev Containers 扩展来在 Unstructured 容器环境中开发本地项目,从问题的提出到最终解决方案的实施,包括所有必要的步骤和配置。
前提
电脑已经安装好 Docker。
可以看我另一篇文章:
Windows 11 下正确安装 Docker Desktop 到 D 盘的完整教程
问题背景
本教程使用开源项目 unstructured 的 Docker 部署为例子。
在使用 Unstructured 这样的专业工具进行开发时,我们常常需要特定的运行环境。虽然可以通过 Docker 容器获得这个环境,但如何在容器中访问和开发本地项目文件成为一个常见挑战。
解决方案:使用 Dev-Containers 扩展
步骤 1:安装必要的扩展
首先,确保安装了 VS Code 的 Dev Containers 扩展:
- 打开 VS Code
- 点击左侧扩展图标或按
Ctrl+Shift+X
- 搜索 “Dev Containers”
- 安装 Microsoft 官方的 “Dev Containers” 扩展
步骤 2:创建 devcontainer.json 配置
在本地项目目录中创建必要的配置文件:
- 在项目根目录创建
.devcontainer
文件夹 - 在该文件夹中创建
devcontainer.json
文件 - 添加以下配置内容:
{
"name": "Unstructured Project",
"image": "downloads.unstructured.io/unstructured-io/unstructured:latest",
"workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached",
"workspaceFolder": "/workspace",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance"
]
}
}
}
这个配置文件指定了:
- 使用 Unstructured 的官方 Docker 镜像
- 将本地项目目录挂载到容器的
/workspace
路径 - 自动安装 Python 相关的 VS Code 扩展
步骤 3:在容器中重新打开项目
配置完成后:
- 在 VS Code 中打开命令面板(
Ctrl+Shift+P
) - 输入并选择 “Dev Containers: Reopen in Container”
- VS Code 将自动:
- 基于指定的镜像创建一个新容器
- 挂载本地项目目录到容器中
- 在容器环境中重新打开 VS Code 窗口
步骤 4:验证结果
成功实施后,我们可以看到:
- Docker Desktop 显示一个新的容器已启动(如截图所示,名为 “clever_faraday”)
- 容器使用的是 Unstructured 镜像
- VS Code 窗口现在连接到了容器环境
- 在 VS Code 的文件浏览器中可以看到并编辑本地项目文件
- 所有操作都在 Unstructured 的环境中执行,同时保持对本地文件的访问
配置好后,最后别忘了安装项目:
pip install "unstructured[all-docs]"
工作原理解析
Dev Containers 扩展的核心功能是将本地开发与容器化环境无缝集成:
- 挂载机制:通过
workspaceMount
配置,实现本地文件系统与容器内部文件系统的双向同步 - 环境隔离:代码在容器内运行,确保环境一致性,避免"在我的机器上可以运行"的问题
- 开发体验保持:VS Code 的所有功能(代码补全、调试等)在容器环境中依然可用
常见问题排查
如果遇到问题:
- 容器无法启动:检查 Docker Desktop 是否正在运行,以及镜像是否已经安装
- 文件更改不同步:确认
workspaceMount
配置正确,并检查文件权限
最后
这种方法不仅适用于 Unstructured,也可以扩展到其他需要特定环境的项目开发中。