软件名称
code-server
操作系统支持
支持 Linux、macOS、Windows 系统,也可通过 Docker、Kubernetes 部署,几乎覆盖所有主流开发环境。
软件介绍
说白了,code-server 就是把咱们熟悉的 VS Code “搬” 到服务器上,再通过浏览器给你用 —— 你看到的是 VS Code 的界面,敲代码、装插件、调终端这些操作,其实全在服务器上跑。它不是简化版,是完整版 VS Code 的 “云端分身”,扩展市场、Git、调试器这些功能一个没少,甚至连你习惯的主题和快捷键都能同步。
code-server 的出色功能
code-server 最让人顺手的地方,不是 “能在浏览器用 VS Code”,而是 “让开发环境彻底摆脱设备限制”:
- 完整复刻 VS Code 体验:不管是装中文语言包、装 Live Server 看页面效果,还是用终端敲命令,和桌面版没半点区别,实测用了两周,没发现任何功能阉割;
- 轻量易部署:用 Docker 拉取镜像、一条命令启动容器,整个配置过程大概 10 分钟,哪怕是刚接触 Docker 的新手也能搞定;
- 数据全在自己手里:不像第三方云 IDE 那样把代码存在别人服务器,code-server 部署在自己的服务器 / NAS 上,代码和配置都可控,安全感拉满;
- 资源集中利用:把代码、依赖、编译工具全放在高性能服务器上,低配平板、旧笔记本只负责显示界面,哪怕是树莓派都能流畅敲代码。
实用场景
场景 1:iPad 移动办公
- 痛点:iPad 码字、看文档很方便,但想写代码时,要么装简化版编辑器(功能不全),要么远程控制电脑(延迟高),改个 bug 都闹心;
- 爽点:用 Docker 部署 code-server 后,再通过 cpolar 把服务映射到公网,iPad 浏览器输入地址、输个密码,就能打开完整版 VS Code。我试过在咖啡馆改前端代码,装了 Live Server 插件,改完代码浏览器直接预览效果,和在台式机上开发没区别,续航还比笔记本久多了。
场景 2:小型团队共享开发环境
- 痛点:团队里新成员入职,光是装 VS Code、配 Node.js、Python 环境、装常用插件,每人至少耗 1 小时,还容易出现 “环境不一致导致代码跑不通” 的问题;
- 爽点:在公司服务器上部署一套 code-server,预装所有团队常用的工具链和插件,用 cpolar 配置固定公网地址。新成员不管用什么设备,只要能上网,输入地址就能直接用统一的开发环境,实测团队配置环境的时间从人均 1 小时降到 5 分钟,再也没人喊 “在我机器上能跑啊”。
cpolar 内网穿透技术带来的便利
不用 code-server 的时候,它只能在局域网内用 —— 比如你在公司服务器装了,回家就访问不了;在自己 NAS 上部署了,出门想改代码也没辙。但配上 cpolar 内网穿透,相当于给 code-server 开了 “全球通行证”,这些便利是真的实用:
-
不用折腾公网 IP
大部分人家里 / 公司的网络没有公网 IP,想远程访问内网的 code-server,要么找网管改路由器配置,要么花钱买云服务器的公网 IP。cpolar 不用这些操作,一键脚本安装后,直接把内网的 code-server 端口映射到公网,哪怕是租房用的共享网络,也能轻松搞定。
-
固定地址不用反复记
刚开始用 cpolar 会分配随机公网地址,每次重启都变,记起来麻烦。但它能预留二级子域名,配置后地址就固定了 —— 比如我设的vscode.cpolar.cn,不管什么时候访问,都是这个地址,iPad、笔记本、公司电脑都存这一个,不用每次找新地址。
-
跨网络访问无限制
我试过在高铁上用手机热点连 cpolar 映射的 code-server,延迟比远程桌面低多了,敲代码、保存文件都不卡;回老家时用家里的宽带访问公司的 code-server,改紧急 bug 不用跑回公司,坐在沙发上就搞定了。
-
安全又省心
cpolar 的访问需要验证,不是随便输个地址就能进,而且数据传输是加密的,比直接暴露服务器端口安全多了。不用自己配防火墙、改端口,也不用怕别人蹭用你的开发环境。
-
多设备同步无压力
不管是用 iPad、Windows 笔记本、MacBook,还是公司的 Linux 主机,只要打开浏览器输同一个 cpolar 公网地址,就能访问同一个 code-server 环境 —— 代码文件、插件配置、终端历史全同步,不用在不同设备间拷文件,也不用重复装插件。
总结
code-server 不是什么 “花里胡哨” 的工具,它就是把 VS Code 的便利和服务器的性能结合起来,解决了 “设备限制开发” 的核心问题;而 cpolar 则是给这个工具补上了 “远程访问” 的短板,让云端 IDE 真正做到 “随时随地能用”。
对开发者来说,不用再纠结 “哪台设备装 VS Code”,不用再为环境配置扯皮;对团队来说,降低了协作的时间成本;对移动办公的人来说,终于能让 iPad、低配本发挥出 “正经开发” 的作用。两者搭配起来,不是简单的 “1+1=2”,而是让开发这件事,彻底摆脱了设备和地点的束缚 —— 毕竟敲代码的核心是思路,不是非得守着一台高性能电脑。
开发够累有能提升效率的工具当然要用起!尤其是1+1>2的组合更应该赶紧安排起来!
本文将带你从零开始,基于Docker快速部署code-server,搭建一个安全、可持久化、随时可用的网页版VS Code开发环境。无论你是个人开发者、教育工作者,还是DevOps工程师,只需几分钟,即可拥有属于自己的在线IDE。
让我们开始吧!
1.什么是code-server?
code-server是一个开源项目,它将Microsoft Visual Studio Code(VS Code) 运行在远程服务器上,并通过Web浏览器 提供访问能力。简单来说:
code-server = VS Code + 浏览器访问 + 云端运行
核心特点
| 特性 | 说明 |
|---|---|
| ✅ 完整 VS Code 体验 | 支持扩展市场、调试器、终端、Git、主题等几乎所有原生功能 |
| 💕轻量易部署 | 官方提供 Docker 镜像,一条命令即可启动 |
| 🌐 跨平台访问 | 只要有浏览器(手机、平板、Chromebook、Windows/Mac/Linux),就能写代码 |
| 💻 统一开发环境 | 代码、配置、依赖全部部署在服务器,避免“在我机器上能跑”的问题 |
| 🔒 私有部署 | 数据完全掌握在自己手中,不依赖第三方云 IDE(如 GitHub Codespaces) |
工作原理
- 你在服务器(本地、云主机、NAS 等)上运行 code-server
- code-server 启动一个 Web 服务(默认端口 8080)
- 你通过浏览器访问 http://你的服务器IP:8080
- 输入密码后,即可在网页中使用 VS Code 界面操作服务器上的文件
典型使用场景
- 远程开发:在家连接公司/实验室的高性能服务器写代码
- 教学演示:老师一键分发统一编程环境给学生
- 移动办公:用 iPad + 键盘随时随地编码
- 资源受限设备:在低配笔记本或树莓派上通过浏览器使用强大 IDE
- 团队共享环境:快速为新成员提供预装工具链的开发沙箱
技术栈简述
- 基于 VS Code 的开源版本(OSS) 构建
- 使用 Node.js 和 TypeScript 开发
- 通过 WebSocket 实现编辑器与浏览器的实时同步
- 支持 Linux / macOS / Windows / Docker / Kubernetes 部署
2.安装docker
安装Docker:
curl -fsSL https://get.docker.com/ | sh
启用Docker服务:
systemctl enable --now docker
检查Docker状态:
systemctl status docker
3.部署code-server
3.1 安装code-server
使用以下命令下载最新的code-server镜像:
docker pull codercom/code-server:latest
启动code-server容器:
docker run -d \
--name code-server \
-p 8000:8080 \
-e PASSWORD=123456 \
-v /docker/vscode/data:/root/.vscode-server \
codercom/code-server:latest
验证部署,打开docker发现确实已经启动容器啦:
部署完成后,在浏览器中输入 http://localhost:8008 就能看到code-server的界面:
3.2 使用code-server
使用启动命令的密码“123456”登录:
登录成功后,同意协议并进行下一步:
安装中文版vscode:
点击如图所示:
选择中文版。
然后就成功啦!
搜索“Live Server”安装,为了后续查看页面效果:
可以新建一个文件,创造页面看看:
也可以使用终端:
code-server是一个强大的工具,它让你可以在任何设备的浏览器中运行完整的VS Code开发环境。但默认情况下,code-server只能在本地访问(如 http://localhost:8080),无法从外部网络直接使用。
这时候,你就需要一个内网穿透工具——而cpolar正是为此而生。
4.安装cpolar实现随时随地开发
4.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
4.2 部署cpolar
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh
安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar
Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。
5.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:vscode,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:8000
- 域名类型:随机域名
- 地区:选择China Top
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。
访问成功。
6.保留固定公网地址
使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是vscode,大家可以自定义。填写备注信息,点击保留。
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。
最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。
总结
通过使用code-server,开发者可以快速在服务器或本地部署一个功能完整的网页版 VSCode,在浏览器中实现与桌面端一致的开发体验。结合cpolar内网穿透工具,还能一键将本地code-server服务安全暴露到公网,无需公网IP或复杂配置,即可随时随地通过HTTPS访问自己的在线开发环境,极大提升了开发灵活性与协作效率。