3.3 KiB
3.3 KiB
title, type, tags, date
| title | type | tags | date | |||
|---|---|---|---|---|---|---|
| Trae远程开发部署指南 | source |
|
2026-04-22 |
Source File
Summary(用中文描述)
- 核心主题:使用 Trae IDE 通过 SSH 远程连接 Ubuntu 服务器进行 Docker 容器化项目的开发工作流配置
- 问题域:远程开发环境搭建、Docker 与 IDE 集成、内网穿透访问
- 方法/机制:SSH 免密登录 → Trae Remote-SSH 连接 → Docker 容器 Attach 或宿主机文件编辑 → Tailscale/FRP 公网访问
- 结论/价值:提供一套完整的"本地 UI + 远程服务器开发"解决方案,支持 Attach 容器调试和 docker-compose 编排两种模式
Key Claims(用中文描述)
- Trae 原生支持 VS Code 插件生态,通过 Remote-SSH 插件可远程连接 Ubuntu 服务器
- 开发模式 A(Attach 容器):适合调试,环境完全隔离,直接使用容器内语言环境
- 开发模式 B(宿主机文件 + Docker CLI):适合编排 docker-compose.yml 和管理多容器配置
- 用户必须加入 docker 用户组才能让 Trae 的 Docker 插件正常工作
- 文件权限(UID/GID)问题会导致 Volume 挂载生成的 Build 文件归属 root,宿主机无法操作
Key Quotes
"开发环境的核心在于 Bind Mount(绑定挂载),实现代码修改实时生效" — 解释开发环境 docker-compose.yml 的设计原则
"SSH 登录服务器执行:sudo usermod -aG docker $USER,必须注销并重新登录" — Docker 用户组配置关键步骤
"不要直接暴露 SSH 端口,建议安装 Tailscale 或 Cloudflare Tunnel" — 内网穿透安全建议
Key Concepts
- Remote-SSH:通过 SSH 协议将本地 IDE 连接到远程服务器,代码运行在服务器端但 UI 在本地
- Bind Mount:Docker Volume 挂载方式,将宿主机目录映射到容器内,实现代码修改实时生效
- Attach 容器:将 IDE 直接连接到正在运行的 Docker 容器内部进行开发调试的模式
- Docker 用户组:将用户加入 docker 组使其无需 sudo 即可运行 docker 命令
- SSH Config:SSH 客户端配置文件(~/.ssh/config),定义 Host 别名和连接参数
- SSH 免密登录:通过 ssh-copy-id 公钥分发实现无密码 SSH 连接
- Docker Compose 开发模式:使用 docker-compose.yml 编排开发环境,通过 volumes 实现源码挂载
Key Entities
- Trae:国产 AI IDE,基于 VS Code,支持 Remote-SSH 远程开发,与 Cursor 功能类似
- Ubuntu 2:开发服务器(192.168.3.45),存放源码,运行带 Bind Mount 的开发容器
- Ubuntu 1:生产服务器(192.168.3.47),运行生产容器,通过 Docker 卷持久化数据
- ThinkBook:本地笔记本,作为 Trae UI 端连接远程服务器
- Tailscale:零配置 VPN 工具,可替代 FRP 提供安全的公网 SSH 访问
- Docker:容器化平台,远程开发的核心载体
Connections
- Trae ← remote-ssh ← Ubuntu 2
- Docker ← hosts ← Ubuntu 2
- Docker Compose ← manages containers on ← Ubuntu 2
- Remote-SSH ← 公网穿透方案 ← Tailscale / frp
- Ubuntu 2 ← 公网访问 ← frp (ubuntu2-ext: ubuntu2.ishenwei.online:60024)
Contradictions
- 无已知冲突内容