LXD 常用命令速查手册
一份为开发者和运维人员准备的 LXD 核心命令清单,包含大量快捷命令,助你高效管理容器与虚拟机。
1. 实例管理 (Instance)
创建与启动
启动一个 Ubuntu 22.04 容器,并命名为 my-ubuntu。
lxc launch images:ubuntu/22.04 my-ubuntu
启动一个 Debian 12 虚拟机。
lxc launch images:debian/12 my-debian-vm --vm
启动容器并应用指定的 profile。
lxc launch images:alpine/edge my-alpine -p default -p macvlan
启动并直接配置资源。
lxc launch images:ubuntu/22.04 web-server -c limits.cpu=2 -c limits.memory=1GiB
查看与列出
查看所有实例的简略信息。
lxc list
使用正则表达式过滤名称。
lxc list "web-*"
自定义输出列 (n:名字, s:状态, 4:IPv4, P:profile, t:类型)。
lxc list -c n,s,4,P,t
执行命令与交互
在容器内获取一个交互式 bash shell。
lxc exec my-ubuntu -- bash
运行单个命令,例如更新包列表。
lxc exec my-ubuntu -- apt update
获取虚拟机的控制台访问权限。
lxc console my-debian-vm
生命周期管理
启动实例。
lxc start my-ubuntu
停止实例。
lxc stop my-ubuntu
重启实例。
lxc restart my-ubuntu
暂停实例 (冻结状态)。
lxc pause my-ubuntu
删除实例 (必须先停止)。
lxc delete my-ubuntu
强制删除 (无需停止)。
lxc delete my-ubuntu --force
文件传输
推送单个文件到实例。
lxc file push ./local.conf my-ubuntu/etc/nginx/nginx.conf
从实例拉取单个文件。
lxc file pull my-ubuntu/var/log/syslog .
递归推送整个目录。
lxc file push -r ./my-app my-ubuntu/opt/
9. 实用快捷命令
信息查询
快速获取某个实例的 IP 地址。
lxc list my-ubuntu -c 4 --format csv | cut -d' ' -f1
列出所有正在运行的实例名称。
lxc list --format csv -c n --filter status=running
查看所有实例的资源使用情况(CPU, 内存, 网络)。
lxc list -c n,s,C,m,N
批量操作
停止所有正在运行的实例。
lxc stop $(lxc list -c n --format csv --filter status=running)
删除所有已停止的实例。
lxc delete $(lxc list -c n --format csv --filter status=stopped)
在所有运行的 Ubuntu 容器内执行更新。
for c in $(lxc list images:ubuntu -c n --format csv --filter status=running); do lxc exec $c -- apt update \&\& apt upgrade -y; done
清理与维护
清理未被任何实例使用的本地镜像缓存。
lxc image list --format json | jq -r '.[] | select(.auto_update == false and (.aliases | length) == 0) | .fingerprint' | xargs -r lxc image delete
警告:这是一个破坏性操作
此命令将立即并永久删除您系统上的 所有 LXD 实例,且无法恢复。请在执行前再三确认。
强制删除所有实例。
lxc delete --force $(lxc list -c n --format csv)