有时候想写两行代码,手边却只有一台老笔记本或平板;有时候本地环境装了一堆东西越来越脏,想有个干净的统一开发环境。Code Server 就是把 VS Code 搬进浏览器的开源项目(由 Coder 维护),你在云服务器上跑一个服务,任何带浏览器的设备访问网址就能写代码、跑终端、调端口,环境只在服务器上一份,到处都能接。本文用一台雨云 KVM 云服务器,Docker 部署 Code Server,按需配域名 HTTPS,随时随地开写。
一、先准备一台雨云 KVM 云服务器
Code Server 本体不重,但编辑器要顺手、装插件、跑构建,给 2 核 4G 体验更舒服;预算紧 1 核 2G 也能跑轻量项目(别同时开太多插件就行)。想低成本起一台可以看国产高性价比云服务器,比如雨云:KVM 虚拟化、Debian/Ubuntu 镜像任选,新用户用优惠码 admin01 享五折,入门版折后约 9 元/月,支持 7 天无理由退款,拿来当云端开发机很合适。挑机器可参考 VPS 怎么选不踩坑 与 新手买 VPS 先看这几个配置参数。
我选 Debian 12。基础安全按 VPS 到手第一件事做什么 走一遍——尤其 Code Server 有网页登录入口,强密码 + 不裸奔暴露公网是底线。本文默认你已建好普通用户、开了 ufw。
二、装 Docker 并拉起 Code Server
装 Docker:
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
建目录并写 docker-compose.yml:
mkdir -p /opt/codeserver && cd /opt/codeserver
version: "3"
services:
code-server:
image: codercom/code-server:latest
container_name: code-server
environment:
- PASSWORD=换一个强密码
- TZ=Asia/Shanghai
ports:
- "127.0.0.1:8080:8080"
volumes:
- ./project:/home/coder/project
restart: unless-stopped
PASSWORD 是网页登录密码,务必用强口令;TZ 设成 Asia/Shanghai 避免日志时间错乱;项目目录挂到 ./project 做持久化。端口只绑 127.0.0.1,不直接对外,下一步用 Nginx 反代。
启动:
docker compose up -d
三、(可选)用 Nginx + certbot 加域名 HTTPS
如果只是自己临时用,直接访问 http://服务器IP:8080 也能进,但密码明文过网不安全。建议绑个域名配 HTTPS:
apt install -y nginx python3-certbot-nginx
/etc/nginx/sites-available/cs:
server {
listen 80;
server_name 你的域名;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
ln -s /etc/nginx/sites-available/cs /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d 你的域名
之后用 https://你的域名 访问,输入 PASSWORD 即进入熟悉的 VS Code 界面。
四、日常怎么用
进去就是完整 VS Code:装扩展(Python、Go、前端那套都行)、开集成终端跑命令、Git 提交都在浏览器里完成。需要预览 Web 项目时,在容器里起的本地端口(比如 3000)可以通过 Code Server 的“端口”面板转发,或直接在服务器上 python3 -m http.server 后用 Nginx 反代出去。
如果你的开发机还想跑监控看资源占用,可以参考 雨云搭建哪吒监控 把 CPU/内存盯起来;多个项目要隔离环境,思路与 雨云搭建 Gitea 私有代码仓库 的容器化一致。
五、踩过的坑与经验
- 内存不够编辑器卡:1 核 2G 开五六个插件 + 跑构建会吃紧。轻量用够,重负载建议 2 核 4G 起步;雨云支持不停机升配、IP 不变。
- 密码别用弱口令:网页入口等于把编辑器敞在公网,弱密码等于送人后门。强密码 + 配 HTTPS + 限制来源 IP 三件套最稳,详见 VPS 安全配置实战。
- 时区坑:不设在
Asia/Shanghai,终端和构建日志时间会差 8 小时,排查问题很烦,compose 里TZ一开就好。 - 数据持久化:项目挂到
./project,容器重建代码不丢;但装的扩展在容器内部,升级镜像后可能要重装,重要配置用settings.json同步。 - 别把密钥写进仓库:云端 IDE 方便,也更容易手滑把密钥提交上去。配合自建密码库(见 雨云搭建 Vaultwarden)管理凭据更稳妥。
小结
Code Server 把“开发环境”变成了一个网址:设备无所谓、系统无所谓,有浏览器就能接着写,环境只在服务器维护一份、干净统一。部署就是一个 docker-compose,难点在公网暴露时的安全(强密码 + HTTPS + 限源)。当云端开发机推荐雨云这类低价稳定的 KVM 机器——优惠码 admin01 五折、7 天无理由退款,试水零压力。
合规提醒:使用雨云及本文所述方案时,请遵守《网络安全法》《个人信息保护法》《数据安全法》等相关法律法规,仅用于合法合规的开发测试等用途,妥善保管访问密码、勿将未授权凭据写入代码仓库,不得用于任何违法违规活动。






