如何创建,查看和还原容器快照?
要创建快照,必须使用支持制作快照的文件系统例如BTRFS/ZFS或LVM。
为Linux容器创建快照
$ sudo lxc-snapshot -n {container} -c "snapshot comment" $ sudo lxc-snapshot -n centos-c1 -c "Security update"
查看Linux容器LXC的快照
$ sudo lxc-snapshot -n centos-c1 -L -C
还原Linux容器快照
$ sudo lxc-snapshot -n centos-c1 -r snap0
删除Linux容器LXC快照
$ sudo lxc-snapshot -n centos-c1 -d snap0
如何创建Fedora Linux容器?
执行以下命令来创建Fedora 25容器:
$ sudo lxc-create -t download -n fedora-c1 -- -d fedora -r 25 -a amd64
设置root帐户密码,启动容器并登录:
$ sudo chroot /var/lib/lxc/fedora-c1/rootfs/ passwd $ sudo lxc-start -n fedora-c1 $ lxc-console -n fedora-c1
启动并启用所需的服务
首先使用systemctl命令启动名为libvirtd和lxc的虚拟化守护程序:
$ sudo systemctl start libvirtd.service $ sudo systemctl start lxc.service $ sudo systemctl enable lxc.service
检查服务是否正在运行:
$ sudo systemctl status libvirtd.service $ sudo systemctl status lxc.service
如何创建Ubuntu Linux容器?
执行以下命令以创建Ubuntu 16.04 LTS容器:
$ sudo lxc-create -t download -n ubuntu-c1 -- -d ubuntu -r xenial -a amd64
设置管理员密码:
$ sudo chroot /var/lib/lxc/ubuntu-c1/rootfs/ passwd ubuntu
确保root帐户被锁定:
$ sudo chroot /var/lib/lxc/ubuntu-c1/rootfs/ passwd
启动容器:
$ sudo lxc-start -n ubuntu-c1
登录容器
$ lxc-console -n ubuntu-c1
在容器中安装软件包并配置服务器。
例如,安装ssh服务器,运行apt-get命令/apt命令:
ubuntu@ubuntu-c1:~$ sudo apt-get install openssh-server
按Ctrl + a q退出lxc-console,返回主机。
如何查看所有可用的镜像
执行以下命令:
$ lxc-create -t download -n NULL -- --list
如何查看系统上已创建的容器?
执行以下命令:
$ lxc-ls -f
如何在btrfs文件系统中创建CentOS 6 Linux容器?
将硬盘格式化为btrfs格式:
# mkfs.btrfs /dev/sdb # mount /dev/sdb /mnt/btrfs/
如果没有物理盘,可以使用镜像文件。
使用dd或fallocate命令创建镜像文件,并格式化为btrfs格式:
# fallocate -l 10G /onitroad-btrfs.img # losetup /dev/loop0 /onitroad-btrfs.img # mkfs.btrfs /dev/loop0 # mount /dev/loop0 /mnt/btrfs/ # btrfs filesystem show
创建一个CentOS 6 Linux容器:
# lxc-create -B btrfs -P /mnt/btrfs/ -t download -n centos6-c1 -- -d centos -r 6 -a amd64 # chroot /mnt/btrfs/centos6-c1/rootfs/ passwd # lxc-start -P /mnt/btrfs/ -n centos6-c1 # lxc-console -P /mnt/btrfs -n centos6-c1 # lxc-ls -P /mnt/btrfs/ -f
如何停止/启动/重启容器?
语法为:
$ sudo lxc-start -n {container} $ sudo lxc-start -n fedora-c1 $ sudo lxc-stop -n {container} $ sudo lxc-stop -n fedora-c1
如何查看容器统计信息?
查看容器使用情况,每秒更新一次并按内存使用率排序:
$ lxc-top --delay 1 --sort m
查看容器使用情况,每秒更新一次并按CPU使用率排序:
$ lxc-top --delay 1 --sort c
按IO排序:
$ lxc-top --delay 1 --sort b
如何创建CentOS Linux容器?
执行以下命令来创建CentOS 7容器:
$ sudo lxc-create -t download -n centos-c1 -- -d centos -r 7 -a amd64
设置root帐户密码并启动容器:
$ sudo chroot /var/lib/lxc/centos-c1/rootfs/ passwd $ sudo lxc-start -n centos-c1 $ lxc-console -n centos-c1
如何查看有关容器的信息?
语法为:
$ lxc-info -n {container} $ lxc-info -n centos-c1
如何创建Debain Linux容器?
执行以下命令创建Debian 9容器:
$ sudo lxc-create -t download -n debian-c1 -- -d debian -r stretch -a amd64
设置root密码
$ sudo chroot /var/lib/lxc/debian-c1/rootfs/ passwd
启动容器,
然后登录容器进行管理
$ sudo lxc-start -n debian-c1 $ lxc-console -n debian-c1
如何销毁/删除容器?
语法为:
$ sudo lxc-destroy -n {container} $ sudo lxc-stop -n fedora-c2 $ sudo lxc-destroy -n fedora-c2
如果容器正在运行,先将其停止然后再删除。
或者使用下面命令强制删除:
$ sudo lxc-destroy -f -n fedora-c2
安装LXC
在Fedora 26上执行以下dnf命令,安装lxc和相关软件包:
$ sudo dnf install lxc lxc-templates lxc-extra debootstrap libvirt perl gpg
LXC网络
查看为lxc配置的网络接口:
$ sudo brctl show
输出示例:
bridge name bridge id STP enabled interfaces virbr0 8000.523400295525 yes virbr0-nic
在文件/etc/lxc/default.conf中将default bridge设置为virbr0:
$ sudo vi /etc/lxc/default.conf
配置示例:
lxc.network.type = veth lxc.network.link = virbr0 lxc.network.flags = up lxc.network.hwaddr = 00:16:3e:xx:xx:xx
查看容器使用的DHCP IP范围:
$ sudo systemctl status libvirtd.service | grep range
检查当前内核是否支持lxc:
$ lxc-checkconfig
如何在Fedora Linux上安装,创建和管理LXC容器?