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。敬请期待。