58 lines
3.3 KiB
Markdown
58 lines
3.3 KiB
Markdown
---
|
||
title: "Trae远程开发部署指南"
|
||
type: source
|
||
tags: [remote-ssh, trae, ubuntu]
|
||
date: 2026-04-22
|
||
---
|
||
|
||
## Source File
|
||
- [[Vibe Coding/Trae远程开发部署指南]]
|
||
|
||
## 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
|
||
- 无已知冲突内容
|
||
|