LXD 入門為在 Linux 上高效、輕量地管理容器和虛擬機器打開了大門。LXD 是一款功能強大的系統容器和虛擬機器管理器,可簡化 Linux 容器的部署和管理,是託管 Web 應用程式、測試環境和部署微服務的理想解決方案。它彌合了傳統虛擬化與容器化之間的差距,為現代基礎設施需求提供了靈活性和效能。
在本文中,我們將透過一個逐步示範,指導您在實際場景中使用 LXD 安裝和管理容器。此外,我們還將提供表格形式的速查表摘要,幫助您快速查閱基本的 LXD 命令,確保您擁有簡化容器管理工作流程所需的工具。
往期文章:
01. Ubuntu Server 簡介 – SysOSX: AI & Cloud
02. 如何架設您的第一台 Ubuntu Server:初學者指南 – SysOSX: AI & Cloud
03.掌握 Ubuntu Server 的 Linux 命令列 – SysOSX: AI & Cloud
04. Ubuntu Server 使用者與權限管理:全面指南 – SysOSX: AI & Cloud
05. Ubuntu Server 網路基礎:全面指南 – SysOSX: AI & Cloud
06. 在 Ubuntu Server 上安裝和管理軟體:完整指南 – SysOSX: AI & Cloud
07.修補和更新 Ubuntu Server:全面指南 – SysOSX: AI & Cloud
08. 保護您的 Ubuntu Server:強化與防護的實用步驟 – SysOSX: AI & Cloud
10. Ubuntu Server 系統監控工具:全面指南 – SysOSX: AI & Cloud
11. Ubuntu Server 集中式記錄:必讀指南 – SysOSX: AI & Cloud
12. Ubuntu Server 稽核與合規:最佳實務 – SysOSX: AI & Cloud
13.為託管和 Web 應用程式設定您的 Ubuntu Server:終極指南 – SysOSX: AI & Cloud
14. 在一台 Ubuntu Server 上託管多個網站:實用技巧 – SysOSX: AI & Cloud
15. Ubuntu Server 儲存與磁碟管理:簡明指南 – SysOSX: AI & Cloud
16. 在 Ubuntu Server 上設定檔案共用服務:完整指南 – SysOSX: AI & Cloud
17. 在 Ubuntu 上設定安全的資料庫伺服器:MySQL 與 MariaDB – SysOSX: AI & Cloud
18. 如何在 Ubuntu Server 上設定和使用 LVM:全面指南 – SysOSX: AI & Cloud
19. KVM 虛擬化入門:Ubuntu Server 初學者指南 – SysOSX: AI & Cloud
20. 如何在 Ubuntu Server 上安裝 Docker:容器化逐步指南 – SysOSX: AI & Cloud
目錄
什麼是 LXD?
LXD 是一款建構於 Linux Containers (LXC) 之上的開源容器管理工具。它提供行為類似虛擬機器但更快、更輕量的系統容器。使用 LXD,您可以:
- 在容器內執行完整的 Linux 發行版。
- 使用進階網路和儲存功能。
- 透過 REST API 遠端管理容器。
- 以最短的停機時間在主機之間遷移容器。
使用 Snap 安裝 LXD
在現代 Ubuntu 系統上安裝 LXD 的建議方式是透過 Snap。請按照以下步驟操作:
1. 安裝 Snapd
確保您的系統上已安裝 Snap。如果未安裝 Snap,請執行:
sudo apt update
sudo apt install snapd
2. 安裝 LXD
使用 Snap 安裝 LXD:
sudo snap install lxd

3. 驗證安裝
檢查已安裝的 LXD 版本:
lxd --version

示範:使用 LXD 安裝容器
讓我們來看一個常見場景:使用 LXD 建立和管理一個執行 Ubuntu 22.04 的容器。
步驟 1:初始化 LXD
執行以下命令初始化 LXD:
sudo lxd init

系統會提示您設定儲存、網路和其他設定。為簡單起見,您可以選擇預設選項。
步驟 2:啟動 Ubuntu 容器
使用以下命令建立並啟動一個執行 Ubuntu 22.04 的容器:
lxc launch ubuntu:22.04 web-server

此命令會建立一個名為 web-server 的容器,使用 Ubuntu 22.04 映像。
步驟 3:存取容器
取得容器的 Shell 存取權:
lxc exec web-server -- bash

您現在已進入容器內部,可以安裝套件或設定服務。例如,安裝 Apache:
apt update
apt install apache2 -y
啟動 Apache 服務:
systemctl start apache2
步驟 4:驗證容器網路
退出容器並檢查其 IP 位址:
lxc list

在瀏覽器中造訪容器的 IP 位址,或使用 curl http://ip 檢查連通性,即可存取容器的 Web 伺服器。

步驟 5:停止並刪除容器
當您不再需要該容器時,將其停止:
lxc stop web-server
刪除容器:
lxc delete web-server
LXD 命令列速查表
下面是常用 LXD 命令的速查表摘要:
| 類別 | 命令 | 說明 |
|---|---|---|
| 初始化 | lxd init | 在首次使用前初始化 LXD。 |
| 建立執行個體 | lxc init <image> <name> | 建立一個容器但不啟動它。 |
lxc launch <image> <name> | 建立並啟動一個容器。 | |
lxc launch <image> <name> --vm | 建立並啟動一台虛擬機器。 | |
| 管理執行個體 | lxc list | 列出所有執行個體。 |
lxc info <instance> | 顯示有關執行個體的資訊。 | |
lxc start <instance> | 啟動一個執行個體。 | |
lxc stop <instance> [--force] | 停止一個執行個體。 | |
| `lxc delete <instance> [–force | –interactive]` | |
| 存取執行個體 | lxc exec <instance> -- <command> | 在執行個體內執行命令。 |
lxc exec <instance> -- bash | 取得執行個體的 Shell 存取權。 | |
lxc console <instance> | 取得執行個體的主控台存取權。 | |
| 檔案管理 | lxc file pull <instance>/<path> <local_path> | 從執行個體中提取檔案。 |
lxc file push <local_path> <instance>/<path> | 將檔案推送到執行個體。 | |
| 專案 | lxc project create <project> | 建立一個專案。 |
lxc project set <project> <option> | 設定一個專案。 | |
lxc project switch <project> | 切換到一個專案。 |
官方文件:
LXD 入門
結論
LXD 簡化了容器管理,是開發人員、系統管理員和 DevOps 工程師的絕佳選擇。憑藉其輕量級效能和類似虛擬機器的功能,LXD 非常適合託管應用程式、測試環境等場景。
在本文中,我們示範了如何使用 LXD 在常見場景中安裝和管理容器。此外,速查表還提供了基本 LXD 命令的快速參考。
下一個主題:
在下一篇文章中,我們將討論 如何在 Ubuntu Server 上使用 Podman。敬請期待。