code-server 体验:一行命令把 VS Code 跑在服务器上,随时用浏览器写代码

前言

code-server 解决的核心问题是:让你在任意设备的浏览器里用上完整的 VS Code。

它的原理不复杂------VS Code 本身是 Electron 应用,code-server 把这层桌面 UI 换成 Web 服务端渲染,代码实际跑在远程服务器上,浏览器只负责显示和交互。相当于把"开发环境"从本地抽离出来,变成一个可以通过 URL 访问的服务。

实际用下来,它适合两类场景:

一是重度远程开发。比如你有一台高配服务器放着跑模型、编译大型项目,但人可能在外面,用笔记本或 iPad 临时连上去写代码。code-server 跑在服务器上,本地设备只作为终端,不用把代码同步过来再同步回去。

二是团队统一开发环境。给新成员分配机器时,不用逐台配环境,直接给一个 code-server 地址,连上就能开始写,预装的插件和配置都在服务器上。

Docker 部署一条命令能起,最小配置成本不高。需要注意的细节是密码认证默认开启,密码在启动命令里通过环境变量传入,建议生成随机字符串而不是用"123456"这种弱密码。

局限方面:浏览器里的 VS Code 体验和桌面端比还是有差距,尤其是插件对 GUI 交互依赖较重的时候;长时间在浏览器里写代码,眼睛负担比桌面端更大;另外内存占用不低,毕竟服务端要跑一个完整的 VS Code 进程。

本文将带你从零开始,基于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:

shell 复制代码
curl -fsSL https://get.docker.com/ | sh

启用Docker服务:

shell 复制代码
systemctl enable --now docker

检查Docker状态:

shell 复制代码
systemctl status docker

3.部署code-server

3.1 安装code-server

使用以下命令下载最新的code-server镜像:

shell 复制代码
docker pull codercom/code-server:latest

启动code-server容器:

shell 复制代码
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步骤:

使用一键脚本安装命令:

shell 复制代码
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

shell 复制代码
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 是一个把"开发环境"服务化做得比较彻底的方案。它的价值不在于替代桌面端 VS Code,而是把开发环境从具体的设备上解耦出来------代码在云端,从任何终端都可以连接。

如果你有闲置服务器或者 NAS 想充分利用,或者确实有移动办公写代码的需求,这套方案可以一试。

相关推荐
流年笙歌_2 小时前
(超详细)手把手教你安装银河麒麟高级服务器操作系统 V11
运维·服务器
爱学习的小囧2 小时前
VCF 私有 AI 服务(PAIS)自签名 TLS 证书配置避坑指南
服务器·esxi·虚拟化·vcf
嫂子开门我是_我哥2 小时前
一文讲透服务器:普通人也能看懂的服务器科普,网站为啥离不开它?
运维·服务器
qq_232888752 小时前
麒麟V10服务器安装搜狗输入法
运维·服务器
程序员晓晓2 小时前
【网络安全零基础入门】应急响应之服务器入侵排查,小白零基础入门到精通教程
服务器·web安全·计算机·网络安全·渗透测试·黑客技术·网安应急响应
学亮编程手记2 小时前
一台服务器能支持的A800或H800 GPU最大数量分析
运维·服务器·人工智能
大灰狼来喽2 小时前
McPorter 实战:一键管理 OpenClaw 的 MCP 服务器
运维·服务器·人工智能·aigc·ai编程
灰子学技术2 小时前
Envoy 中 TCP 网络连接实现分析
运维·服务器·网络·网络协议·tcp/ip
Deitymoon2 小时前
linux——TCP编程
linux·服务器