Die folgende Antwort wiederholt einen Großteil der Informationen in den folgenden Links
Container sind eine leichte Virtualisierungstechnologie. Sie ähneln eher einer erweiterten Chroot als einer vollständigen Virtualisierung wie Qemu oder VMware, sowohl weil sie keine Hardware emulieren als auch weil Container dasselbe Betriebssystem wie der Host verwenden. Daher sind Container besser als Solaris-Zonen oder BSD-Gefängnisse. Linux-vserver und OpenVZ sind zwei bereits existierende, unabhängig entwickelte Implementierungen von containerähnlichen Funktionen für Linux. Tatsächlich entstanden Container als Ergebnis der Arbeiten zum Upstreaming der vserver- und OpenVZ-Funktionalität. Einige vserver- und OpenVZ-Funktionen fehlen noch in Containern. Container können jedoch viele Linux-Distributionen booten und haben den Vorteil, dass sie mit einem nicht modifizierten Upstream-Kernel verwendet werden können.
LXC einfacher machen
Ein Hauptaugenmerk von 12.04 LTS lag darauf, die Verwendung von LXC so einfach wie möglich zu gestalten. Um dies zu erreichen, haben wir an verschiedenen Fronten gearbeitet, um bekannte Fehler zu beheben und die Standardkonfiguration von LXC zu verbessern.
Das Erstellen eines Basiscontainers und das Starten unter Ubuntu 12.04 LTS ist jetzt wie folgt:
sudo apt-get install lxc
sudo lxc-create -t ubuntu -n my-container
sudo lxc-start -n my-container
Dies verwendet standardmäßig dieselbe Version und Architektur wie Ihr Computer. Zusätzliche Optionen sind offensichtlich verfügbar (–help listet sie auf). Login / Passwort sind Ubuntu / Ubuntu.
Eine andere Sache, an der wir gearbeitet haben, um die Arbeit mit LXC zu vereinfachen, ist die Reduzierung der Anzahl von Hacks, die erforderlich sind, um ein reguläres System in einen Container zu verwandeln, auf Null. Ab 12.04 nehmen wir keine Änderungen an einem Standard-Ubuntu-System vor, um es in einem Container zum Laufen zu bringen. Es ist jetzt sogar möglich, ein unformatiertes VM-Image zu erstellen und es in einem Container starten zu lassen!
Mit der Ubuntu-Cloud-Vorlage können Sie auch eines unserer EC2 / Cloud-Images abrufen und als Container anstelle einer Cloud-Instanz starten lassen:
sudo apt-get install lxc cloud-utils
sudo lxc-create -t ubuntu-cloud -n my-cloud-container
sudo lxc-start -n my-cloud-container
Und schließlich, wenn Sie die neuen coolen Sachen testen möchten, können Sie sie auch [juju][3]
mit LXC verwenden
[ -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 sicherer machen
Ein weiteres Hauptaugenmerk von LXC in Ubuntu 12.04 lag auf der Sicherheit. John Johansen hat eine erstaunliche Arbeit geleistet, indem er Apparmor erweitert hat, damit wir Apparmor-Profile pro Container implementieren und verhindern können, dass die bekanntesten gefährlichen Verhaltensweisen in einem Container auftreten.
HINWEIS: Bis wir Benutzernamenräume im Kernel implementiert haben und vom LXC verwendet werden, werden wir NICHT sagen, dass LXC root-sicher ist. Das in Ubuntu 12.04 LTS gelieferte Standard-Apparmor-Profil blockiert jedoch alle uns bekannten bewaffneten Aktionen.
Dies bedeutet meistens, dass der Schreibzugriff auf / proc und / sys stark eingeschränkt ist. Das Mounten von Dateisystemen ist ebenfalls eingeschränkt, sodass standardmäßig nur bekannte sichere Dateisysteme gemountet werden können. Die Funktionen im Standard-LXC-Profil sind ebenfalls eingeschränkt, um zu verhindern, dass ein Container Kernelmodule lädt oder Apparmor steuert.
Weitere Details dazu finden Sie hier:
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/