Docker 能帮你统一什么
Docker 的核心价值,就是把「项目需要的运行环境」打包成一份可复现的配置,换电脑后尽量做到 依赖一致、启动方式一致、少踩「我电脑上能跑」的坑。
但它不能 100% 解决「两台电脑完全同一个开发环境」,尤其是 Mac + Windows(这种组合。更准确地说:
Docker 统一的是 项目运行环境; 编辑器、Git、SSH、浏览器插件、系统级工具,还要靠 Git + 文档化配置 来统一。
Docker 能帮你统一什么
| 能统一 | 不能/很难完全统一 |
|---|---|
| Python / Node 版本 | Mac 和 Windows 的 Docker 底层不同(Linux 容器 vs WSL2) |
| 数据库(Postgres、Redis、Milvus 等) | GUI 软件(Cursor、微信、钉钉) |
| Agent 后端、API 服务 | Apple Silicon (M 芯片) vs x86 的镜像兼容 |
| 向量库、中间件 | 文件路径、换行符、部分原生库差异 |
docker compose up 一键起环境 | GPU/本地大模型推理(Mac 和 Win 差异很大) |
对你这种 AI 训练师 / Agent 部署 工作,Docker 很适合管这些:
-
向量数据库(Milvus / Qdrant / Chroma)
-
Postgres / Redis
-
自建的 Agent API(FastAPI / Node)
-
Dify、n8n 等可容器化的平台
-
固定的 Python 依赖(requirements / uv / poetry)
推荐的整体方案(实用、成本低)
1. 代码和配置:用 Git 同步(最重要)
不管 Docker 怎么配,代码仓库必须是中心:
公司项目/ ├── docker-compose.yml # 一键起数据库、后端 ├── Dockerfile # Agent/API 运行环境 ├── .env.example # 环境变量模板(不要提交真实密钥) ├── requirements.txt # 或 pyproject.toml └── README.md # 怎么启动、怎么部署
-
上班 Mac:改代码 →
git commit→git push -
下班 Win:
git pull→docker compose up→ 继续开发
公司若用 GitHub / GitLab / Gitee,优先走公司仓库;个人学习项目可放私有仓库。
2. 运行环境:Docker Compose 统一
docker-compose.yml 示例思路:
services: api: build: . ports: - "8000:8000" env_file: .env volumes: - .:/app depends_on: - postgres - redis postgres: image: postgres:16 environment: POSTGRES_PASSWORD: dev volumes: - pgdata:/var/lib/postgresql/data redis: image: redis:7
两台电脑都是:
git pull docker compose up -d
环境就基本一致了。
3. 编辑器:Cursor / VS Code + Settings Sync
-
装 Cursor 或 VS Code
-
开启 Settings Sync(账号登录同步插件、快捷键、主题)
-
项目里放
.vscode/extensions.json,推荐同事/自己装同一套插件
这样「写代码的体验」也能尽量一致,Docker 管不住的部分由编辑器同步补上。
4. Mac 和 Windows 上 Docker 怎么装
| 电脑 | 安装 |
|---|---|
| Mac(公司) | Docker Desktop for Mac |
| 小米 Win | Docker Desktop for Windows + 启用 WSL2 |
注意:Mac 若是 M1/M2/M3,镜像尽量用 linux/arm64 或带 multi-arch 的官方镜像,避免只能跑 x86 的镜像。
针对你岗位的具体建议
数据库 / 知识库(RAG)
-
开发阶段:Docker 跑 Postgres + pgvector,或 Milvus / Qdrant
-
数据:不要把真实客户数据放进 Git
-
用
.env区分「公司 Mac」和「家里 Win」的连接地址 -
大体积数据用 导出脚本 + 网盘/内网 同步,或只同步脱敏样本
Agent 部署
常见两种路径:
-
低代码平台(Dify、扣子、百炼等)
-
配置在平台里,代码同步价值不大
-
重点是文档化:Prompt、知识库结构、API Key 管理方式
-
-
自建 Agent(Python + LangGraph 等)
-
非常适合 Docker + Git
-
公司 Mac 开发 → 推到测试环境 → 同事验收
-
同事需求 / 内部工具
-
小脚本、爬虫、Excel 处理:可以 Docker 化,也可以直接用 Python venv + requirements.txt
-
若只是简单脚本,Docker 有时偏重;Git + 固定 Python 版本 往往够用
-
一旦涉及数据库、Agent、长期跑的服务,再上 Docker
还需要统一的几件事(Docker 不管)
-
Git 账号 / SSH Key 两台电脑各配一次 SSH,或都用 HTTPS + Token。
-
环境变量和密钥
.env不进 Git;用.env.example写需要哪些变量,真实值各自本地保存。 -
Python / Node 版本
-
Python:
.python-version+ pyenv,或全放进 Docker 里写代码 -
Node:
package.json里写"engines": { "node": "20.x" }
-
-
Cursor Rules / Agent 配置 项目里放
.cursor/rules或AGENTS.md,两台电脑 pull 下来就一致。
一个现实的工作流示例
上班(Mac):
cd ~/work/company-agent git pull docker compose up -d cursor . # 改 Prompt、接 API、测 Agent git add . && git commit -m "feat: xxx" && git push
下班(小米 Win):
cd D:\dev\company-agent git pull docker compose up -d cursor . # 继续改或学习
两边看到的:同一套代码、同一套数据库容器、同一套启动命令。
需要知道的限制
-
Docker 不是虚拟机 不能指望「Mac 里整个系统原样搬到 Win」;统一的是 容器里的 Linux 环境。
-
本地跑大模型 Mac 用 Ollama 很方便;Windows 也能装,但体验和性能不同。 若 Agent 主要调 云端 API(OpenAI、通义、DeepSeek),两边差异不大。
-
公司 Mac 可能有权限限制 装 Docker Desktop、改系统设置可能要 IT 或老板同意;先问清楚能不能装、能不能访问 Docker Hub。
-
外贸公司数据安全 客户资料、报价、合同 不要 放到个人 GitHub 公开库;用公司私有仓库,或只在家做 脱敏后的学习副本。
总结:你的理解对不对?
| 你的理解 | 实际情况 |
|---|---|
| Docker 让不同电脑环境统一 | 对,主要是 项目运行环境 |
| 无论哪台电脑都能一样开发 | 基本对,还要配合 Git + 编辑器同步 + .env 规范 |
| 适合 AI/Agent/数据库工作 | 很合适,尤其是后端、数据库、Agent 服务 |
建议优先级:
-
先在公司 Mac 上把 Git + Docker Desktop 装好
-
当前项目做成 docker-compose + README
-
家里 Win 克隆同一仓库,验证
docker compose up能否跑通 -
再考虑 Cursor 同步、Python 版本锁定等细节
更多推荐
所有评论(0)