GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ist es möglich, ein 10.04 oder 12.04 oder früheres LTS containerisiert unter LXC oder Docker auf Trusty auszuführen?

Sie können ältere Linux-Programme auf neueren Kerneln ausführen. Linux behält die Abwärtskompatibilität (zumindest für alle dokumentierten Schnittstellen) zum Nutzen von Leuten bei, die aus dem einen oder anderen Grund alte Binärdateien ausführen (weil sie sich nicht die Mühe machen wollen, sie neu zu kompilieren, weil sie den Quellcode verloren haben, weil dies der Fall ist kommerzielle Software, für die sie den Quellcode nicht haben usw.).

Wenn Sie eine Build-Umgebung mit älteren Entwicklungstools oder sogar eine Testumgebung für alles haben möchten, was nicht tief in Kernel-Schnittstellen eintaucht, müssen Sie keinen älteren Kernel ausführen, sondern nur eine ältere Userland-Umgebung. Dafür brauchen Sie nichts Kompliziertes:Eine Chroot reicht aus. Etwas Fortgeschritteneres wie LXC, Docker, … kann nützlich sein, wenn Sie möchten, dass die ältere (oder neuere) Distribution eine eigene Netzwerkkonfiguration hat. Wenn Sie das nicht möchten, können Sie genau das verwenden, was Debian verwendet, um Software in einer bekannten Umgebung zu erstellen (z. B. Software für Debian Stable auf einer Maschine mit einer Testinstallation erstellen):schroot. Siehe Wie führe ich 32-Bit-Programme auf einem 64-Bit-Debian/Ubuntu aus? für eine Anleitung zum Einrichten einer alternativen Installation von Debian oder einem Derivat in einer Chroot.

Wenn Sie den Kernel der älteren Distribution ausführen möchten, benötigen Sie dafür eine echte virtuelle Maschine wie KVM oder VirtualBox. Linux-auf-Linux-Virtualisierung mit LXC oder ähnlichem läuft durchgängig auf dem gleichen Kernel.


➜ codetv_static# docker run ubuntu:10.04 /bin/echo 'Howdy!' Unable to find image 'ubuntu:10.04' locally 10.04: Pulling from library/ubuntu a3ed95caeb02: Pull complete 86b54f4b6a4e: Pull complete Digest: sha256:f6695b2d24dd2e1da0a79fa72459e33505da79939c13ce50e90675c32988ab64 Status: Downloaded newer image for ubuntu:10.04 Howdy!


Linux
  1. Kann Docker in einem Linux-Container ausgeführt werden?

  2. Wie sende ich ein Signal an das Programm, das in einem Docker-Container ausgeführt wird?

  3. Wie füge ich Benutzer zum Docker-Container hinzu?

  4. Ist es möglich, Appium iOS automatisierte Tests auf Ubuntu auszuführen?

  5. So führen Sie einen Cron-Job in einem Docker-Container aus

Ist es möglich, „unshare -n [Programm]“ als nicht privilegierter Benutzer auszuführen?

Virtualisierungslösungen unter Openbsd?

Bereitstellen des Talkyard-Forums unter Nginx mit Docker

Ist es möglich, LINQPad mit Mono (Mac) auszuführen?

Wie führt Docker einen Linux-Kernel unter einem macOS-Host aus?

Ist es möglich, Sellerie automatisch beim Start auszuführen?