輕量級遠程開發利器: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.pswp.cn/pingmian/90896.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90896.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90896.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

圖論:最小生成樹

今天要介紹兩中最小生成樹的算法,分別是prim算法和kruskal算法。 最小生成樹是所有節點的最小連通子圖,即:以最小的成本(邊的權值)將圖中所有節點鏈接到一起。 圖中有n個節點,那么一定可以用n-1條邊將所有節…

haproxy七層代理

1、負載均衡Load Balance(LB) 概念 負載均衡:是一種服務或基于硬件設備等實現的高可用反向代理技術,負載均衡將特定的業務(web服務、網絡流量等)分擔給指定的一個或多個后端特定的服務器或設備,從而提高了 公司業務的并發處理能力、保證了業務…

【NLP輿情分析】基于python微博輿情分析可視化系統(flask+pandas+echarts) 視頻教程 - 微博文章數據可視化分析-點贊區間實現

大家好,我是java1234_小鋒老師,最近寫了一套【NLP輿情分析】基于python微博輿情分析可視化系統(flaskpandasecharts)視頻教程,持續更新中,計劃月底更新完,感謝支持。今天講解微博文章數據可視化分析-點贊區間實現 視頻…

Redis實戰(3)-- 高級數據結構zset

有序集合(ZSET):可以用作相關有序集合相對于哈希、列表、集合來說會有一點點陌生,但既然叫有序集合,那么它和集合必然有著聯系,它保留了集合不能有重復成員的特性,但不同的是,有序集合中的元素可以排序。但是它和列表使用索引下標作為排序依據…

Mistral AI開源 Magistral-Small-2507

宣布Magistral——Mistral AI推出的首款推理模型,專精于垂直領域、具備透明化特性與多語言推理能力。 最優秀的人類思維并非線性——它穿梭于邏輯、洞見、不確定性與發現之間。推理型語言模型讓我們得以將復雜思考和深度理解交由AI增強或代勞,提升了人類…

【Kotlin】如何實現靜態方法?(單例類、伴生對象、@JvmStatic)

靜態方法 靜態方法(類方法):不需要創建實例就可以調用(直接通過類名調用)的方法 Java 中的靜態方法(static) public class Util {public static void doAction() {//...} }調用:Util…

SQL Schema 和Pandas Schema什么意思

在數據處理和分析領域,SQL Schema 和 Pandas Schema 分別指的是在不同數據處理環境中數據的結構定義,以下為你詳細介紹:SQL Schema含義SQL Schema(模式)是數據庫對象的一個邏輯容器,它定義了數據庫中表、視…

機器學習(一)KNN,K近鄰算法(K-Nearest Neighbors)

💡 建議初學者掌握KNN作為理解其他復雜算法(如SVM、決策樹、神經網絡)的基石。K近鄰算法(K-Nearest Neighbors, KNN)詳解:原理、實踐與優化K近鄰算法(K-Nearest NeighboKrs,簡稱KNN&…

Qt 多線程數據庫操作優化

在多線程應用中,數據庫操作往往是性能瓶頸與穩定性風險的高發區。當多個線程同時讀寫數據庫時,若處理不當,輕則出現查詢卡頓、事務沖突,重則導致數據錯亂、連接泄漏甚至程序崩潰。Qt作為跨平臺框架,提供了QSql系列類支…

Qt 狀態機框架:復雜交互邏輯的處理

Qt狀態機框架(Qt State Machine Framework)是一個強大的工具,用于簡化復雜的交互邏輯和狀態管理。它基于UML狀態圖概念,提供了聲明式的方式來定義對象行為,特別適合處理具有多種狀態和轉換的場景(如GUI交互…

【docker】DM8達夢數據庫的docker-compose以及一些啟動踩坑

摘要:本文介紹了通過docker-compose配置啟動達夢數據庫(DM8)的方法。配置包括容器鏡像、端口映射、數據卷掛載以及關鍵環境變量設置(如字符集、大小寫敏感等)。也說明了啟動過程可能遇到的一些問題。通過docker-compose啟動達夢數據庫可以按照…

服務器中的防火墻設置需要打開嗎

服務器中的防火墻屬于是一種保護計算機網絡不會受到未經授權的網絡設備所訪問的技術手段,防火墻還有著將內部網絡和外部網絡進行隔離的功能,在網絡之間創建安全屏障,以此來保護網絡中數據的安全。防火墻是一種網絡安全系統,可以幫…

Java項目:基于SSM框架實現的社區團購管理系統【ssm+B/S架構+源碼+數據庫+畢業論文+答辯PPT+遠程部署】

摘 要 使用舊方法對社區團購信息進行系統化管理已經不再讓人們信賴了,把現在的網絡信息技術運用在社區團購信息的管理上面可以解決許多信息管理上面的難題,比如處理數據時間很長,數據存在錯誤不能及時糾正等問題。 這次開發的社區團購系統有…

介紹一下static關鍵字

在Java中,被static修飾的成員稱為靜態成員,static關鍵字可以用來修飾方法或者成員變量,且被static修飾的方法或者成員變量屬于類方法或者類屬性,也就是說被static修飾的方法或者成員變量不是單獨存儲在某一個對象的空間&#xff0…

【Java學習|黑馬筆記|Day23】網絡編程、反射、動態代理

【DAY23】 文章目錄【DAY23】一.網絡編程1)三要素1.1)IPInetAddress類的使用1.2)端口號1.3)協議2.1)UDP協議發送數據2.2)UDP協議接收數據2.3)UDP的三種通信方式3.1)TCP協議的發送和接…

【Zephyr】Window下的Zephyr編譯和使用

工具下載 參考文檔(Getting Started Guide — Zephyr Project Documentation)中介紹,可以直接通過winget下載: winget download Kitware.CMake Ninja-build.Ninja oss-winget.gperf python Git.Git oss-winget.dtc wget 7zip.7z…

圖論(BFS)構造鄰接表(運用隊列實現搜索)

碼蹄集OJ-夏日漫步 #include<bits/stdc.h> using namespace std; int n; int a[200010],dis[200010],qaq[1000010]; vector<int>son[200010]; int que[200010]; int main( ) {memset(qaq,-1,sizeof(qaq));memset(dis,-1,sizeof(dis));cin>>n;for(int i1;i…

vue怎么實現導入excel表功能

<el-uploadref"upload":action"aaa":on-change"importProject"name"excelFile"multiple:auto-upload"false":show-file-list"false"><el-button type"warning">導入</el-button><…

Linux DNS解析3 -- DNS解析代理配置使用

當網關設備配置了 /etc/hosts 文件時&#xff0c;確實可以為終端設備提供自定義DNS解析功能&#xff0c;但具體效果取決于網關的DNS代理服務配置。下面詳細解釋其工作原理和限制&#xff1a; 一、/etc/hosts 文件的作用 /etc/hosts 是本地靜態域名解析文件&#xff0c;格式為&a…

歷史版本的vscode下載地址

我有點厭惡vscode越來越臃腫的體積&#xff0c;也不需要層出不窮的新功能&#xff0c;于是網上找尋歷史版本。 首先是這個頁面&#xff1a;https://code.visualstudio.com/updates &#xff0c;但最多只顯示兩年&#xff0c;更早的就要手工修改地址欄&#xff0c;我試了最早的…