如何创建,查看和还原容器快照?

要创建快照,必须使用支持制作快照的文件系统例如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 26上安装和设置LXC(Linux容器)

如何在Fedora Linux上安装,创建和管理LXC容器?

日期:2020-03-23 08:04:00 来源:oir作者:oir