LXD 是一个当代的、安全的、强大的系统容器和虚拟机管理器,用户可以通过它在 Ubuntu 上创建和管理容器和虚拟机。
系统容器仿照一个完全的操作系统,并许可您同时运行多个进程,而运用程序容器(我们平常利用的Docker这类容器)只是将单个进程或运用程序打包。
虚拟机是利用宿主机的硬件仿照物理机来构建不同于宿主机操作系统的完全的、完备隔离的操作系统。系统容器则是利用宿主机系统的内核,而不是构建自己的环境。如果运行多个别系容器,它们会共享相同的内核,因此它们比虚拟机更快、更轻量。

如何选择呢?如果须要的所有功能宿主机操作系统内核都支持,利用系统容器就可以 以更小的空间占用得到更高的性能。如果用到宿主机操作系统内核不支持的功能,或者希望运行一个完备不同的操作系统,利用虚拟机是最好的选择。
a.利用root用户登录
b.实行snap install lxd
c. 安装完成后,实行如下命令查看安装结果
snap list
d.实行如下命令进行lxd初始化
lxd init
e.lxd 初始化完成后,可以实行如下命令来查看干系镜像文件
lxc image list images:
lxc image list images:ubuntu
lxc image list images:centos
lxc image list images:alpine
lxc image list images:alpine/3.17
f.实行如下命令来创建一个新的容器
lxc launch ubuntu:18.04 my-1st-container
lxc list
lxc exec my-1st-container -- /bin/bash
启动、停滞、删除容器命令如下:
lxc start my-1st-container
lxc stop my-1st-container
lxc delete my-1st-container
2.lxd ui界面设置
首先,实行如下命令
snap set lxd ui.enable=true
snap restart lxd
lxc config set core.https_address :8443
然后,在浏览器中输入地址https://192.168.2.105:8443 按如下图进行干系操作
末了在完成上述设置后,关闭浏览器再重新打开https://192.168.2.105:8443 如下图
lxc常用命令示例
lxc launch ubuntu:22.04 first
lxc launch ubuntu:22.04 second
lxc copy first third #复制容器
lxc launch ubuntu:22.04 ubuntu-vm --vm #创建虚拟机
lxc list #你可以瞥见first和second容器运行,但是看不到third容器运行,这是由于third容器是通过复制first而来的,但是没有启动,可以用如下的命令启动third容器。
lxc start third
lxc info first
lxc info second
lxc info third
lxc info ubuntu-vm
lxc stop second
lxc delete second
lxc delete third #由于容器是运行状态,删除时会有报错信息涌现,删除前必须先停滞容器,或者可以通过如下命令逼迫删除
lxc delete third --force
lxc launch ubuntu:22.04 limited --config limits.cpu=1 --config limits.memory=192MiB #创建limited容器
lxc config show limited
lxc config show first
free -m
lxc exec first -- free -m
lxc exec limited -- free -m
nproc
lxc exec first -- nproc
lxc exec limited -- nproc
lxc config set limited limits.memory=128MiB
lxc config show limited
lxc exec limited -- free -m
lxc exec ubuntu-vm -- df -h
lxc config device override ubuntu-vm root size=30GiB
lxc restart ubuntu-vm
lxc exec ubuntu-vm -- df -h
lxc exec first -- bash
cat /etc/release
exit
lxc exec first -- apt-get update
lxc exec first -- apt-get install sl -y
lxc exec first -- /usr/games/sl
lxc file pull first/etc/hosts . #拉取文件
echo "1.2.3.4 my-example" >> hosts
lxc file push hosts first/etc/hosts #推送文件
lxc file pull first/var/log/syslog - | less
lxc snapshot first clean #创建快照
lxc list first
lxc info first
lxc exec first -- rm /usr/bin/bash
lxc exec first -- bash
lxc restore first clean #规复快照
lxc exec first -- bash
exit
lxc delete first/clean #删除快照