LOADING...

加载过慢请开启缓存(浏览器默认开启)

loading

LXD 安装与使用

参考

安装

# Gentoo
emerge -v lxd

# Arch
pacman -S lxd

Debian 系和 Redhat 系需要 snap 来安装。

snap install lxd

配置

LXD 需要 subuid/subgid 的支持,参考 Container Idmap

LXD 默认的 subuid/subgid 如下:

lxd:1000000:65536
root:1000000:65536

为当前用户赋予使用权利:

usermod -aG lxd `whoami`

开启服务:

systemctl start lxd

使用之前需要先初始化:

lxd init

使用

添加新源:

lxc remote add tuna-images https://mirrors.tuna.tsinghua.edu.cn/lxc-images/ --protocol=simplestreams --public

镜像

搜索源里的镜像:

lxc image list -c Ldftsu tuna-images: a=amd64 archlinux

从 LXD 4 起,LXD 开始支持 qemu,镜像也分虚拟机和容器镜像:

# 只查容器
lxc image list tuna-images: -c dsL a=amd64 type=squashfs | less

# 只查虚拟机
lxc image list tuna-images: -c dsL a=amd64 type=disk-kvm.img | less

容器

从源里拉去镜像生成容器:

lxc lanuch tuna-images:debian/11 my-debian-11

容器的操作:

lxc stop my-debian-11
lxc start my-debian-11
lxc exec my-debian-11 -- bash

容器配置

配置可以使用 lxc edit $container_name,然后进行文本编辑修改,也可以命令行执行:

lxc config set ${container_name} limits.cpus 1

配置里面比较常见是添加和删除设备或文件夹,而且 LXD 相对 Docker 比较好的地方是能动态配置资源,如挂载和卸载共享文件夹 :

lxc config device add ${container_name} ${device_name} ${device_type} path=${container_path} source=${host_path}