LXC容器和桥接连接
我需要逐步配置在Ubuntu中制作LXC容器
- 正确配置Lxc容器的方法
- 配置cgroup的正确方法
-
在主机和容器中配置网络的正确方法
注意
-
我已经配置了容器的超过30到35次,我有cgroup的问题(安装在fstab中),重新安装pc计算机停止grub屏幕后,如果我不重新启动它工作正常
- 我在容器中的网络不能正常工作,我已尽我所能。
以下答案重复了以下链接中的大部分信息
LXC
容器是一种轻量级虚拟化技术。 它们更像是增强的chroot而不是像Qemu或VMware这样的完全虚拟化,因为它们不会模拟硬件,因为容器与主机共享相同的操作系统。 因此,与Solaris区域或BSD jails相比,容器更好。 Linux-vserver和OpenVZ是两个预先存在的,独立开发的Linux容器类function实现。 实际上,容器是由于vserver和OpenVZfunction的上游工作而产生的。 容器中仍然缺少某些vserver和OpenVZfunction,但是容器可以启动许多Linux发行版,并且具有可以与未修改的上游内核一起使用的优点。
使LXC更容易
12.04 LTS的主要焦点之一是使LXC易于使用,为实现这一目标,我们一直致力于修复已知错误和改进LXC默认配置的几个不同方面。
创建一个基本容器并在Ubuntu 12.04 LTS上启动它现在归结为:
sudo apt-get install lxc sudo lxc-create -t ubuntu -n my-container sudo lxc-start -n my-container
这将默认使用与您的计算机相同的版本和体系结构,显然可以使用其他选项(-help将列出它们)。 登录/密码是ubuntu / ubuntu。
我们致力于使LXC更易于使用的另一件事是减少将常规系统变成容器所需的黑客数量。 从12.04开始,我们不对标准的Ubuntu系统进行任何修改以使其在容器中运行。 现在甚至可以获取原始VM映像并将其引导到容器中!
ubuntu-cloud模板还允许您获取我们的EC2 /云图像之一,并将其作为容器而不是云实例启动:
sudo apt-get install lxc cloud-utils sudo lxc-create -t ubuntu-cloud -n my-cloud-container sudo lxc-start -n my-cloud-container
最后,如果你想测试新的酷东西,你也可以使用[juju][3]
和LXC
[ -f ~/.ssh/id_rsa.pub ] && ssh-keygen -t rsa sudo apt-get install juju apt-cacher-ng zookeeper lxc libvirt-bin --no-install-recommends sudo adduser $USER libvirtd juju bootstrap sed -i "s/ec2/local/" ~/.juju/environments.yaml echo " data-dir: /tmp/juju" >> ~/ .juju/environments.yaml juju bootstrap juju deploy mysql juju deploy wordpress juju add-relation wordpress mysql juju expose wordpress # To tail the logs juju debug-log # To get the IPs and status juju status
使LXC更安全
LXC在Ubuntu 12.04中的另一个主要焦点是使其安全。 John Johansen做了一项非常出色的工作,扩展了apparmor,让我们实现了每个容器的apparmor配置文件,并防止大多数已知的危险行为发生在容器中。
注意:在我们在内核中实现并由LXC使用的用户命名空间之前,我们不会说LXC是root安全的,但是Ubuntu 12.04 LTS中提供的默认apparmor配置文件阻止了我们所知道的任何大量操作。
这主要意味着对/ proc和/ sys的写访问受到严格限制,安装文件系统也受到限制,只允许默认安装已知安全的文件系统。 默认LXC配置文件中的function也受到限制,以防止容器加载内核模块或控制apparmor。
有关这方面的更多详情,请访问:
http://www.stgraber.org/2012/05/04/lxc-in-ubuntu-12-04-lts/
https://help.ubuntu.com/12.04/serverguide/lxc.html
http://www.stgraber.org/2012/03/04/booting-an-ubuntu-12-04-virtual-machine-in-an-lxc-container/
cgroup已在Ubuntu 11.10服务器中配置,您无需配置它以下是一个非常好的指南。
http://www.activestate.com/blog/2011/10/virtualization-ec2-cloud-using-lxc
如果您还没有看过LXC网络面板……试试吧。
http://lxc-webpanel.github.io/
它易于安装,为您提供了一个很好的LXC Web Panel浏览器界面。
该应用程序是用Python编写的,允许您从GUI执行绝大多数LXC mgmt。
创建/启动/停止/销毁,冻结/解冻,编辑/更改网络,编辑许多cgroup参数等。
非常好的工具