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 扩展:

  1. 打开 VS Code
  2. 点击左侧扩展图标或按 Ctrl+Shift+X
  3. 搜索 “Dev Containers”
  4. 安装 Microsoft 官方的 “Dev Containers” 扩展

步骤 2:创建 devcontainer.json 配置

在本地项目目录中创建必要的配置文件:

  1. 在项目根目录创建 .devcontainer 文件夹
  2. 在该文件夹中创建 devcontainer.json 文件
  3. 添加以下配置内容:
{
  "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:在容器中重新打开项目

配置完成后:

  1. 在 VS Code 中打开命令面板(Ctrl+Shift+P
  2. 输入并选择 “Dev Containers: Reopen in Container”
  3. VS Code 将自动:
    • 基于指定的镜像创建一个新容器
    • 挂载本地项目目录到容器中
    • 在容器环境中重新打开 VS Code 窗口

步骤 4:验证结果

成功实施后,我们可以看到:

  1. Docker Desktop 显示一个新的容器已启动(如截图所示,名为 “clever_faraday”)
  2. 容器使用的是 Unstructured 镜像
  3. VS Code 窗口现在连接到了容器环境
  4. 在 VS Code 的文件浏览器中可以看到并编辑本地项目文件
  5. 所有操作都在 Unstructured 的环境中执行,同时保持对本地文件的访问
    在这里插入图片描述
    配置好后,最后别忘了安装项目:
pip install "unstructured[all-docs]"

工作原理解析

Dev Containers 扩展的核心功能是将本地开发与容器化环境无缝集成:

  1. 挂载机制:通过 workspaceMount 配置,实现本地文件系统与容器内部文件系统的双向同步
  2. 环境隔离:代码在容器内运行,确保环境一致性,避免"在我的机器上可以运行"的问题
  3. 开发体验保持:VS Code 的所有功能(代码补全、调试等)在容器环境中依然可用

常见问题排查

如果遇到问题:

  1. 容器无法启动:检查 Docker Desktop 是否正在运行,以及镜像是否已经安装
  2. 文件更改不同步:确认 workspaceMount 配置正确,并检查文件权限

最后

这种方法不仅适用于 Unstructured,也可以扩展到其他需要特定环境的项目开发中。


### 配置和使用 Mac 系统上的 VSCode 进行 Docker 开发 #### 安装必要的工具 为了能够在 Mac 上通过 VSCodeDocker 环境进行开发,需先安装 Docker Desktop 和 Visual Studio Code (VSCode),以及确保已安装了 Remote-Containers 扩展[^1]。 对于 macOS 用户来说,在完成上述软件的安装之后,还需要确认系统已经启用了 SSH 服务以便后续操作能够顺利执行。可以通过命令 `sudo systemsetup -setremotelogin on` 来开启远程登录功能,从而允许通过 SSH 访问本机资源[^2]。 #### 设置 Docker 容器并连接到 VSCode 创建一个新的 Ubuntu 容器作为例子来展示具体过程: ```bash docker run -d --name vscode-docker-dev \ -v /path/to/local/code:/workspace \ ubuntu:20.04 tail -f /dev/null ``` 这里 `-d` 参数表示以后台模式运行容器;`--name` 给定容器名称;`-v` 将主机目录挂载至容器内部路径 `/workspace`; 使用 `tail -f /dev/null` 可保持容器持续运行而不退出。 接着打开 VSCode 并点击左侧活动栏里的绿色图标切换到 "Remote Explorer" 视图,选择 “Attach to Running Container”,从中挑选之前启动的那个名为 `vscode-docker-dev` 的实例即可进入该容器环境中工作。 此时可以在终端里验证当前的工作空间确实位于所指定的位置,并且可以正常使用各种 Linux 命令来进行项目构建等活动。同时也可以利用 VSCode 提供的强大编辑能力处理源文件,就像平常一样编写代码、设置断点调试程序等。 #### 调试与优化体验 当一切准备就绪后,就可以按照常规方式进行编码作业了。值得注意的是,由于涉及到跨平台的操作(即在 MacOS 主机上调用 Linux 下的服务),可能会遇到一些兼容性方面的小麻烦,比如权限管理或是某些特定于操作系统的库缺失等问题。这时就需要依据实际情况调整配置参数或者寻找替代方案加以解决。 另外,考虑到性能因素,建议合理规划好共享卷映射关系,尽量减少不必要的 I/O 操作次数,提高整体工作效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫咪钓鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值