跳至主要内容

Ubuntu Server 安裝、維護與 Docker 環境配置

在 Proxmox VE 中建立好 VM 後,最受歡迎也最穩定的作業系統首選就是 Ubuntu Server。它擁有龐大的開源社群支援、極佳的軟體相容性,也是各類 Docker 容器與自託管 (Self-hosted) 服務的最佳運作基底。

這篇文章整理了從官方 ISO 下載、Linux 入門基本指令、日常維護與檢查指令、Docker 環境建置,以及在 Proxmox 中非常實用的線上硬碟無痛擴容 (Resize Disk) 技巧。


1. 取得 Ubuntu Server 官方映像檔​

前往 Ubuntu 官方網站下載最新的 LTS (長期支援版本,如 24.04 LTS 或 22.04 LTS):

下載好 .iso 檔後,可直接上傳到 PVE 的 local 儲存池中,並依照 在 Proxmox VE 建立虛擬機器 (VM) 的教學掛載開機安裝。


2. Linux 新手必學:最常用的目錄與檔案指令​

初次進入黑底白字的 Linux 終端機 (CLI) 不用害怕,平時最頻繁用到的就是移動位置與查看檔案:

  • ls (List):列出當前目錄底下的所有檔案與資料夾。
    ls         # 列出基本檔案清單
    ls -la # 詳細列出所有檔案(包含隱藏檔、擁有者、權限與檔案大小)
  • cd (Change Directory):切換目錄(進入特定資料夾)。
    cd /opt            # 進入 /opt 目錄
    cd .. # 回到上一層目錄
    cd ~ # 回到當前登入使用者的家目錄 (Home Directory)
終端機不用死背指令

Linux 的指令非常豐富,平時只要掌握常用的幾個即可。遇到任何不會的指令、想找特定功能或看不懂終端機報錯,直接打開 ChatGPT / Claude / Gemini 問 AI 就對了! 這是現代開發者與 Homelab 玩家最有效率的學習方式。


3. 系統日常維護與檢查指令​

維護 Linux 伺服器時,定期檢查磁碟空間與更新系統套件是維持穩定運作的關鍵:

磁碟容量檢查​

  • df -h /:查看根目錄 (/) 的硬碟使用量、剩餘空間與使用百分比(-h 代表 Human-readable,以 GB/MB 顯示):
    df -h /

一鍵系統更新與清理​

  • 定期更新系統套件庫、升級所有已安裝套件,並自動清理不再需要的相依套件:
    sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

Docker 空間清理指令​

隨著容器、新版映像檔與快取反覆下載測試,Docker 很容易在背景吃光硬碟空間:

  • 清理未使用的舊 Docker 映像檔:
    sudo docker image prune -a -f
  • 全系統深度清理 (包含停止的容器、無用的虛擬網路、未掛載的 Build 快取與舊映像檔):
    sudo docker system prune -a

4. Proxmox 線上硬碟擴容教學 (Resize VM Storage)​

當你的 VM 硬碟容量(例如原本配置的 32G)隨著服務增多而吃緊時,Proxmox 支援在不重開機、不中斷服務的情況下線上擴充硬碟容量!

第一步:在 Proxmox Web GUI 擴充磁碟​

  1. 進入 PVE 網頁管理介面,點選你的 VM。
  2. 進入 Hardware (硬體) 清單。
  3. 選取你要擴容的虛擬硬碟(例如 Hard Disk (scsi0))。
  4. 點擊上方的 Disk Action → Resize。
  5. 輸入你要增加的大小 (Size Increment),例如輸入 20 代表額外增加 20GB,點擊確認。

第二步:進入 Ubuntu VM 內部進行線上擴容​

回到 VM 內部終端機(透過 SSH 或 PVE Console 登入),依序執行以下指令讓 Ubuntu 識別並擴展分區與檔案系統:

# 1. 檢視當前磁碟分區狀態(確認底層硬碟總容量已變大,但分割區尚未延展)
lsblk

# 2. 擴展實體分區 (以 /dev/sda 上的第 3 分割區為例)
sudo growpart /dev/sda 3

# 3. 調整 LVM 實體卷 (Physical Volume) 大小
sudo pvresize /dev/sda3

# 4. 將 LVM 邏輯卷 (Logical Volume) 擴展至 100% 剩餘空間
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

# 5. 線上擴展 ext4 檔案系統(將新增的空間套用到檔案系統)
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

# 6. 再次檢查根目錄空間,確認容量已成功擴充!
df -h /
為什麼不用重開機?

現代 Linux 核心與 LVM (Logical Volume Manager) 具備動態調整能力,透過 growpart + pvresize + lvextend + resize2fs 即可在數秒內無縫完成線上擴充,服務完全不需停機。


5. 安裝 Docker 與 Docker Compose 環境​

Ubuntu Server 最強大的用途就是作為容器運行載體。官方推薦的安裝步驟如下:

# 1. 安裝前置憑證與工具
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg

# 2. 加入 Docker 官方 GPG 密鑰
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# 3. 新增 Docker 官方 APT 軟體庫來源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 4. 更新來源並安裝 Docker Engine 與 Compose 插件
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 5. (可選) 將當前使用者加入 docker 群組(免每次指令都打 sudo)
sudo usermod -aG docker $USER

6. 容器管理利器:Dockge (Stack 集中管理)​

Dockge 是我個人平常非常常用、也很推薦的 Docker 管理工具。

對於剛接觸 Docker 與終端機的新手來說,直接在命令列手動維護大量 compose.yaml、管理容器狀態與網路容易感到繁瑣與混亂。Dockge 提供了一個極為簡潔且現代化的 Web UI,讓你可以在網頁上視覺化編輯 YAML、一鍵啟動/停止/更新容器、即時查看日誌與終端機。剛開始使用 Dockge 上手門檻非常低,能夠幫助你更直覺、快速地理解 Docker 與 Docker Compose 的運作邏輯與目錄結構。

# 建立資料夾存放 Stacks 與 Dockge 設定
sudo mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge

# 下載官方 compose.yaml
sudo curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml

# 啟動 Dockge
sudo docker compose up -d

啟動後即可在瀏覽器開啟 http://<你的VM_IP>:5001,用視覺化介面輕鬆建立、編輯與管理所有 Docker Stacks!


結語與下一步​

配置好 Ubuntu Server 與 Docker 環境後,你就擁有了一個乾淨、穩定且隨時可擴充的運算基底。