Ich versuche, einen Server einzurichten, auf dem mehrere Apps ausgeführt werden. Meist intern, könnte aber auch Open Source-Projekte wie Redmine sein. Dies wären alles Rails / Ruby-Apps / Testskripte, die in Headless-Browsern ausgeführt werden. Im Wesentlichen versuche ich, eine Heroku-ähnliche Umgebung intern einzurichten, und wollte eine Art Prozessisolation zwischen diesen laufenden Prozessen.
Ich bin zuerst auf Chroot-Gefängnisse gestoßen und habe dann etwas über LXC gelernt. LXC scheint eine bessere Kontrolle über einfache Chroot-Gefängnisse zu bieten. Ich habe ein Nginx-Frontend und möchte die Webserver-App-Prozesse (Thin / Mongrel / Webrick) in isolierten Containern ausführen. Normalerweise starten wir diese Prozesse einfach über die lokale IP-Adresse und haben einen Nginx-Proxy für sie. Was ist der beste Weg, um dies zu erreichen? Richten Leute eine statisch überbrückte IP für den Container ein und haben Nginx-Punkte darauf? Wie stelle ich sicher, dass in den Containern ausgeführte Webserver nur für Hosts außerhalb zugänglich sind?
Die Dokumentation zu LXC scheint etwas spärlich zu sein. Hinweise auf einige gute Tutorials oder HOWTOs wären sehr dankbar. Meine Zielbereitstellungsumgebung ist eine Lucid 64-Bit-Box.
PS Ich bin kein Linux-Guru. Also sei sanft.
quelle