必须使用微软官方devcontainer镜像并配置devcontainer.json端口转发与挂载,缺一不可。需创建.devcontainer目录及其中devcontainer.json、dockerfile、requirements.txt三文件;dockerfile基于mcr.microsoft.com/devcontainers/python:3.11;devcontainer.json须显式声明forwardports为[8000,3000]及mounts数据挂载;最后通过vs code命令“reopen in container”启动验证。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在开发容器(Dev Containers)中完成Fitten Code的Docker容器化部署,必须让代码编辑环境与运行时环境完全一致——这要求devcontainer.json精准声明基础镜像、端口、扩展和挂载路径,且不能依赖宿主机已安装的Python或Node工具链。
准备本地项目结构
在项目根目录下创建 .devcontainer 目录,并确保其中包含以下三个必需文件:devcontainer.json、Dockerfile、requirements.txt(若为Python后端)或 package.json(若含前端服务)。缺少任一文件将导致容器启动失败或功能缺失。
打开终端,执行:mkdir -p .devcontainer → 进入该目录 → 用 VS Code 打开当前文件夹(确保已启用 Remote - Containers 扩展)。
编写定制化 Dockerfile
在 .devcontainer/Dockerfile 中写入以下内容:
FROM mcr.microsoft.com/devcontainers/python:3.11
COPY requirements.txt /tmp/requirements.txt
RUN pip install --no-cache-dir -r /tmp/requirements.txt
COPY . /workspace
WORKDIR /workspace
注意:不要使用 python:slim 或 ubuntu:22.04 等通用镜像——【mcr.microsoft.com/devcontainers/python:3.11】 是微软官方维护的开发容器专用镜像,预装了调试器、git、curl、openssh-client 和 VS Code 所需的 dev container 工具链,能避免手动安装 sshd 或配置非 root 用户权限等常见故障。
配置 devcontainer.json
在 .devcontainer/devcontainer.json 中填入以下核心字段:
{
"name": "Fitten Code Dev Env",
"build": { "dockerfile": "Dockerfile" },
"features": { "ghcr.io/devcontainers/features/python:1": {} },
"customizations": { "vscode": { "extensions": ["ms-python.python", "esbenp.prettier-vscode"] } },
"forwardPorts": [8000, 3000],
"mounts": ["source=${localWorkspaceFolder}/data,target=/workspace/data,type=bind,consistency=cached"]
}
其中 【"forwardPorts": [8000, 3000]】 必须显式声明——Fitten Code 启动后默认监听 8000(API)和 3000(Web UI),不加此字段则浏览器无法通过 localhost:8000 访问服务;mounts 字段用于持久化用户上传的数据,避免容器重建后丢失。
启动并验证开发容器
第一步:在 VS Code 命令面板(Ctrl+Shift+P)中输入 “Dev Containers: Reopen in Container” → 回车。
第二步:等待右下角状态栏出现 “Dev Container: Fitten Code Dev Env” 提示,且终端输出中出现 Starting dev server... 日志。
第三步:在容器内终端执行 python main.py 或 npm run dev(依项目实际入口而定)→ 观察控制台是否打印出类似 Uvicorn running on http://0.0.0.0:8000 的提示。
第四步:点击 VS Code 右上角弹出的端口转发通知 → 选择 “Open in Browser”,自动跳转至 http://localhost:8000 ——页面成功加载即表示容器化部署完成。











