iT邦幫忙

0

Day 20:【容器化與遠端開發】Remote - SSH 與 Dev Containers 遠端容器開發實戰

  • 分享至 

  • xImage
  •  

💡 前言

今天我們要來解鎖讓許多開發者「用過就回不去」的重量級功能——VS Code Remote Development(遠端開發架構)。

在過去,當我們需要連線到遠端 Linux 伺服器修改程式碼時,只能透過終端機搭配 Vim 或 Nano 編輯,不僅缺乏直覺的語法高亮、程式碼補全,除錯也非常痛苦;或是當團隊有新成員加入時,大家往往得花上一兩天在本地端建立各種資料庫與語言環境,還經常面臨「在我電腦上可以跑,在你電腦上不行」的經典痛點。

今天 Day 20 我們要介紹 VS Code 官方出品的兩大遠端開發神器:Remote - SSH 與 Dev Containers,讓你直接用本地端順手的 VS Code UI,無縫操控遠端主機與容器內部的開發環境!


🎯 本篇重點

  1. VS Code Remote 開發架構的核心原理 (Client-Server Architecture)
  2. Remote - SSH:用 VS Code 優雅操作遠端 Linux 伺服器
  3. Dev Containers:把開發環境完整打包進 Docker 容器
  4. 兩大遠端開發模式的實務應用場景

🏗️ 1. VS Code Remote 運作原理:Client-Server 獨立架構

在介紹套件之前,先來了解 VS Code 是如何做到遠端開發的:

預設情況下,VS Code 的 UI 介面與程式碼執行環境都在同一台電腦上。但使用 Remote 擴充套件時,VS Code 會自動將架構拆分為兩部分:
• UI Client(本地端):負責顯示介面、監聽鍵盤滑鼠操作,只吃極少的本地資源。
• VS Code Server(遠端/容器端):VS Code 會自動在遠端 Linux 主機或 Docker 容器內部下載一個輕量級的後端服務,負責實際的程式碼分析、擴充套件執行與 Terminal 指令運作。

這種架構讓你擁有本地端極致順暢的 UI 體驗,同時享受遠端主機強大的運算效能與獨立環境!


🌐 2. Remote - SSH:告別 Vim,優雅開發遠端 Linux

Step 1:安裝擴充套件

在 VS Code 擴充套件商店搜尋並安裝 Remote - SSH(由 Microsoft 官方提供)。

Step 2:連線到遠端主機

  1. 按下快捷鍵 F1 或 Ctrl + Shift + P,輸入並選擇 Remote-SSH: Connect to Host...。
  2. 輸入 SSH 連線指令,例如:user@your-server-ip。
  3. 選擇要儲存設定檔的位置(如 ~/.ssh/config)。
  4. 連線成功後,VS Code 會彈出一個新的視窗,視窗左下角會顯示綠色的 SSH: your-server-ip 標示。

Step 3:流暢體驗

現在點擊「開啟資料夾」,你看到的就是遠端 Linux 伺服器上的檔案系統!你可以直接用 VS Code 打開檔案編輯、使用 Prettier 排版、開啟內建 Terminal 執行指令,完全不需要透過傳統命令列硬幹。


🐳 3. Dev Containers:環境即程式碼 (Environment as Code)

如果你的專案依賴特定版本的 Python、Node.js、Redis 或 PostgreSQL,使用 Dev Containers 可以讓每個專案都擁有絕對獨立的 Docker 隔離環境。

前提條件:

• 本地電腦需安裝並啟動 Docker Desktop。
• 在 VS Code 中安裝 Dev Containers 擴充套件。

實戰步驟:

  1. 開啟你的專案資料夾,按下 F1 開啟命令面板。
  2. 輸入並選擇 Dev Containers: Add Dev Container Configuration Files...。
  3. 根據提示選擇你的技術堆疊(例如:Node.js & TypeScript 或 Python 3 & PostgreSQL)。
  4. VS Code 會自動在專案中建立一個 .devcontainer/devcontainer.json 設定檔。
  5. 點擊右下角出現的 「In Container 中重新開啟 (Reopen in Container)」 按鈕。

VS Code 會自動在背景建置 Docker 容器,並將 VS Code Server 與專案程式碼掛載進去。此時你點開內建 Terminal 執行 node -v 或 python --version,顯示的就是容器內精準設定的版本!


📊 4. 兩大模式比較與應用場景

功能/特性 Remote - SSH Dev Containers
主要目標 操作雲端主機、雲端 GPU 伺服器、AWS EC2 解決團隊環境不一致、隔離專案依賴
依賴環境 遠端主機需要 SSH 權限 本地需安裝並運行 Docker
環境重現性 需手動在遠端主機安裝軟體 透過 devcontainer.json 隨攜隨走、一鍵建立
適合場景 伺服器排錯、雲端模型訓練、機器學習 團隊協同開發、多專案不同版本切換


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言