1. lxd软件
- 下载lxd
sudo snap install lxd
- 卸载lxd
sudo snap remove lxd
- 初始化
sudo lxc init
2.共享存储池
- 创建
lxc storage create {
存储池名} zfs source=/dev/{
存储设备名}
#例如:lxc storage create zfs-pool zfs source=/dev/nvme0n1p1
- 列出
lxc storage list
- 查看其使用情况
lxc storage info {
存储池名}
#例如:lxc storage info zfs-pool
3.容器
- 创建
sudo lxc launch {
镜像} {
要创建的容器名} -s {
共享存储池名}
#例如:sudo lxc launch ubuntu:20.02 paige -s zfs-pool
- 进入
lxc exec {
容器名} bash
#例如:lxc exec paige bash
- 重启
lxc restart {
容器名}
#例如:lxc restart paige
- 停止
lxc stop {
容器名}
#例如:lxc stop paige
- 打包
sudo lxc publish {
容器名} --alias {
镜像名} --public
#例如:sudo lxc publish paige --alias paige_copy --public
- 销毁
lxc delete {
容器名}
#例如:lxc delete paige
- 生成镜像
lxc launch {
镜像名} {
新的容器名}
#例如:lxc launch paige_copy yui
- 端口映射生成
sudo lxc config device add {
容器名} {
端口映射名} proxy listen=tcp:{
宿主机ip}:{
宿主机端口号} connect=tcp:{
容器ip}:22 bind=host
#例如:sudo lxc config device add paige proxy0 proxy listen=tcp:192.168.2.85:6002 connect=tcp:10.228.141.116:22 bind=host
- 端口映射销毁
sudo lxc config device remove {
容器名} {
端口映射名}
#例如:sudo lxc config device remove paige proxy0
- 编辑本地配置
lxc config edit {
容器名}
#例如:lxc config edit paige
4.权限
sudo lxc config device add [container_name] gpu gpu #允许paige容器使用所有显卡
lxc config set [container_name] limits.cpu [xx] # xx表示指定的cpu核心数 我们没设置
lxc config set [container_name] limits.memory=[xx]GB # xx表示指定的内存的大小 我们是24
lxc config set [container_name] security.privileged false #设置容器的特权为false,不然可能与显卡驱动共享不兼容
lxc config set [container_name] nvidia.runtime true #设置容器可以共享宿主机的显卡驱动
lxc restart [container_name] # 重启容器 让权限生效