当前位置: 首页 > news >正文

轻量级远程开发利器:Code Server与cpolar协同实现安全云端编码

前言:作为一款专为Web环境设计的VS Code托管方案,Code Server通过精简架构重新定义了远程开发体验。其核心优势在于将完整的编辑器功能封装于轻量容器中——仅需不到200MB内存即可运行基础服务,并支持在树莓派等低性能设备上流畅操作。系统采用WebSockets协议实现实时代码同步,同时保留VS Code原生扩展生态兼容性(包括调试、Git集成等功能),这对需要跨平台协作的开发者而言意义重大。

资源占用优化贯穿设计始终:通过动态内存分配策略与压缩传输技术,在保持功能完整性的同时将带宽消耗降低30%以上。这种特性使其成为VPS或Docker容器部署的理想选择——例如在远程服务器上搭建持续集成环境时,仅需单端口暴露即可完成全流程开发。

结合cpolar内网穿透服务后,Code Server的适用场景进一步扩展。当私有网络内的开发环境需要被安全访问时(如公司内部测试服务器),用户可通过加密隧道直接通过公网地址调用——无需开放额外端口或配置反向代理,所有交互均遵循HTTPS协议保障数据隐私,特别适合远程办公与团队协作场景。

本文主要介绍如何在刷了CasaOS轻NAS系统的香橙派Orange Pi Zero3中,使用Docker本地部署Code server,并结合cpolar内网穿透实现远程使用浏览器访问开发环境,在不同设备和操作系统上一致地编写、编辑和运行代码。无需公网IP,也不用设置路由器那么麻烦。

在香橙派Zero3本地部署Code server非常简单,下面就来介绍一下具体如何操作。

1. 添加镜像源

我这里演示的环境是已经刷好CasaOS的香橙派Zero3小主机。

不知道如何操作的可以看下这篇教程:[**香橙派Orange Pi zero3如何刷CasaOS轻NAS系统**](https://www.bilibili.com/read/cv39383099/?spm_id_from=333.999.0.0)

首先,我们需要在浏览器中输入香橙派ip地址,进入CasaOS管理界面。

然后进入终端,使用root账号密码登录。

进入终端后执行下方命令:

```shellnano /etc/docker/daemon.json```

在编辑器中输入新的镜像源地址:

```json{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.1panel.live"]}```

然后按Crtl+X键保存这个镜像源,退出编辑器回到终端后执行下方命令重新启动docker服务:

```shellsystemctl restart docker```

2. 部署Code server

上边的操作完成之后,我们回到casaos主界面点击系统自带的App Store应用中心。

可能刚刷机后的同学会说这里边的应用太少了,其实官方是给出了手动添加更多应用的方法的,只要点击目前APP下拉框中的更多应用。

然后点击问号,会自动在浏览器中打开一个添加更多应用的页面:

复制这个页面中的这些地址,然后回到CasaOS应用中心界面。

将地址粘贴到刚才带有问号的输入框中,然后点击添加,系统就会自动更新更多应用到应用中心界面,可以从几十个增加到几百个。

可以看到,现在就能在应用商店中看到code server了,点击安装即可自动进行部署:

部署完成后,点击打开,即可在浏览器中访问code server的web操作界面:

3. 安装内网穿透工具

此时,我们已经成功在本地的CasaOS香橙派主机中部署了code server,但仅能在本地局域网中使用,如果想在出差时也能远程使用家中code server来写写代码应该怎么办呢?

很简单,只要在香橙派中安装一个cpolar内网穿透工具就能轻松实现远程访问内网主机中部署的服务了,接下来介绍一下如何安装cpolar内网穿透。

首先,点击左上角进入终端:

然后输入root账号密码登录:

然后在终端中执行下方命令,安装cpolar内网穿透工具:

```shellcurl -fsSL https://get.cpolar.sh | sudo sh```

如下图所示即为cpolar内网穿透服务正在正常运行。

4. 配置公网地址

然后我们使用CasaOS香橙派的IP地址加上9200,打开一个新的浏览器来登录cpolar管理界面 :

如果没有账号可以点击免费注册访问cpolar官网注册账号:[https://www.cpolar.com](https://www.cpolar.com/)

输入账号密码登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

隧道名称:可自定义,注意不要与已有的隧道名称重复,本例使用了:mycodes

协议:http

本地地址:8443

域名类型:随机域名

地区:选择China Top

点击创建

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和 https,任选其一到浏览器访问即可。

现在我们就可以使用手机、平板等设备在浏览器地址栏输入cpolar生成的公网地址,能看到成功远程访问本地casaos香橙派中部署的code server的Web管理界面啦!

**小结**

为了方便演示,我们在上边的操作过程中使用cpolar生成的公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,不好记,而且这个地址在24小时内会发生随机变化,更适合于临时测试使用。

如果有长期远程访问本地casaos香橙派中的code server随时撸代码,或者远程访问其他本地服务的需求,又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择配置固定的公网地址来远程访问。

5. 配置固定公网地址

[登录cpolar官网](https://dashboard.cpolar.com/login),点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是 `mycodes1` ,大家也可以自定义喜欢的名称。

保留成功后复制保留成功的二级子域名的名称: `mycodes1` ,返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道 `mycodes`,点击右侧的编辑:

修改隧道信息,将保留成功的二级子域名配置到隧道中

- 域名类型:选择二级子域名

- Sub Domain:填写保留成功的二级子域名:mycodes1

- 地区:选择China VIP

点击`更新`(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,由随机地址名称变成了两个固定的二级子域名(固定公网地址):

最后,我们使用任意一个固定公网地址在浏览器访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问本地局域网内的casaos香橙派主机端中code server来在线写代码了!

以上就是如何在CasaOS轻NAS系统香橙派zero3中部署code server,并安装cpolar内网穿透工具配置固定不变的二级子域名公网地址,实现随时随地远程开发写代码全部流程,感谢您的观看,有任何问题欢迎留言交流。

**结尾:** 这种技术组合的价值在于将轻量化设计与安全访问能力结合,让Code Server从单机工具进化为云端开发基础设施。当开源解决方案与网络穿透技术协同时,开发者无需牺牲性能即可构建出高度灵活的分布式工作流——这正是远程办公场景下的关键需求。

http://www.lryc.cn/news/602771.html

相关文章:

  • AR眼镜:工业4.0时代高风险作业的安全守护者
  • 深度思考和搜索研究 最新的GSPO强化学习算法
  • 解决 xshell 无法连接win10 、win11的linux子系统
  • python每日一题练习
  • Java集合遍历的几种方式
  • 【docker】DM8达梦数据库的docker-compose以及一些启动踩坑
  • Thymeleaf th:object核心用法精解
  • LeetCode|Day28|67. 二进制求和|Python刷题笔记
  • OpenLayers 入门指南【四】:项目初始化
  • org.hibernate.hql.internal.ast.QuerySyntaxException: Invalid path
  • 下载k8s官方组件chart和容器镜像
  • 自动化测试常用函数
  • 网络编程概述与UDP编程
  • 关于前端的性能优化
  • 【数据架构09】人工智能及数据智能架构篇
  • pg数据库,本地服务器下不同端口迁移
  • 用了Flutter包体积增大就弃用Flutter吗?包体积与开发效率,这两者之间如何权衡?
  • 微信小程序点击输入框时,顶部导航栏被遮挡问题如何解决?
  • 鸿蒙打包签名
  • Linux驱动23 --- RkMedia 使用
  • gdb 基本命令
  • 3DGRUT: 革命性的3D高斯粒子光线追踪与混合光栅化技术深度解析
  • Error: Unable to find a match: python3.8
  • 【Linux操作系统】简学深悟启示录:Linux环境基础开发工具使用
  • Spring IOC与DI
  • 【服务器知识】nginx配置ipv6支持
  • JVM 内存共享区域详解
  • RabbitMQ概念与管理端配置说明
  • 学习游戏制作记录(改进剑投掷状态)7.28
  • 四、计算机组成原理——第7章:输入/输出系统