LXD
是一个系统级的容器,类似于虚拟机或物理机,它是对LXC
的基础打包和升级,可在内部运行完整的操作系统,支持运行各类型的工作负载,用户可以像管理虚拟机或物理机一样来管理LXD
。系统容器通常是持久的,用户可在一个系统容器中托管多个应用程序。
LXD
可以看作是LXC
的升级版。LXD
的管理命令和LXC
的管理命令大多相同。LXC
起源于cgroup
和namespaces
,使得进程之间相互隔离,即进程虚拟化。LXC
有一些缺点,比如无法有效支持跨主机之间的容器迁移、管理复杂。而LXD
很好地解决了这些问题。LXC/LXD
和docker
不同的地方在于LXC/LXD
中包含完整的操作系统。安装LXD
sudo apt-get install lxd
选择ZFS
为存储方式
sudo apt-get install zfsutils-linux
初始化LXD
sudo lxd init
将当前用户加入到用户组中
newgrp lxd
查看LXC
列表
lxc list
改用清华的镜像源加速
sudo lxc remote add tuna-images https://mirrors.tuna.tsinghua.edu.cn/lxc-images/ --protocol=simplestreams --public
列出可用镜像文件
sudo lxc image list tuna-images:
按照清华源创建容器LxcMould
sudo lxc launch tuna-images:ubuntu/20.04 LxcMould
启动容器
lxc stop LxcMould
停止容器
lxc stop LxcMould
重启容器
lxc restart LxcMould
删除容器
lxc delete LxcMould
进入容器
lxc exec LxcMould bash
查看容器详情
lxc info LxcMould
容器克隆【要先停止容器】
lxc copy <container> <new-container>
容器重命名【要先停止容器】
lxc move <container> <new-container>
创建网桥
lxc network create r1r2 ipv6.address=none ipv4.address=192.168.1.1/24;
# 或
lxc network create r1r2 ipv6.address=none ipv4.address=none;
网桥连接网卡(需先创建网桥)
lxc network attach r1r3 LxcR1 eth1;
解除网桥网卡之间的连接
lxc network detach T1T2 lxcR1 eth1
删除网桥
lxc network delete T1T2
从LxcR1
内复制文件/root/test.txt
到宿主机/root
目录下
lxc file pull LxcR1/root/test.txt /root/test.txt
从LxcR1
内复制文件夹/root/test
到宿主机/root
目录下
lxc file pull -r LxcR1/root/test /root
从宿主机内复制文件/root/test.txt
到LxcR1
的/root
目录下
lxc file push /root/test.txt LxcR1/root/test.txt
从宿主机内复制文件夹/root/test
到LxcR1
的/root
目录下
lxc file push -r /root/test LxcR1/root
下载镜像到本地,同时将别名设置为ubuntuFocal
,其中2d963a698ffc
表示容器序列号,可通过lxc image list tuna-images:
查看
lxc image copy tuna-images:2d963a698ffc local: --alias ubuntuFocal --public
根据镜像创建容器
sudo lxc launch ubuntuFocal LxcR1
删除镜像
lxc image delete <alias or fingerprint>
制作自定义镜像
lxc publish <container> --alias <new-image>
修改文件
sudo vi /etc/apt/sources.list
添加如下内容
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
执行更新
sudo apt-get update #更新源列表
sudo apt-get upgrade #更新已经安装的包
sudo apt-get dist-upgrade #更新软件,升级系统