Kann ein auf Ubuntu basierendes Docker-Image in Redhat ausgeführt werden?

8

Lesen Sie einige PPTs, es scheint, dass ein Container auf verschiedenen Linux-Anbietern ausgeführt werden kann. Ist das wahr?

    
passinger 25.11.2014, 08:31
quelle

2 Antworten

5

Ja. Das ist die Grundidee von docker.

Er erstellt einen "statischen Container" in einem chroot-env, der auf jedem Linux-System ausgeführt werden kann, da alle erforderlichen Benutzer-Land-Abhängigkeiten im Image enthalten sind.

Da Linux (der Kernel) eine Rückwärtskompatibilität bei Systemaufrufen und deren Aufrufschemata aufrechterhält, kann die Idee über Versionen und sogar verschiedene Linux-Distributionen hinweg funktionieren.

Natürlich muss die binäre Architektur (etwa amd64) auf dem Quell- und Zielsystem identisch sein.

    
arielf 25.11.2014 08:50
quelle
4

Ja, für die meisten Anwendungen funktioniert das. Der Kernel ist das, worauf Sie wirklich laufen (RedHat in Ihrem Beispiel), während der Userspace vom Container (Ubuntu) bereitgestellt wird.

Die meisten Linux-Kernel-Varianten sind so ähnlich, dass Anwendungen sie nicht bemerken. Wenn der Code jedoch auf etwas Bestimmtes im Kernel angewiesen ist, das nicht vorhanden ist, kann Docker Ihnen nicht helfen.

Docker selbst basiert auf bestimmten minimalen Kernel-Features, Version 3.8 zum Zeitpunkt des Schreibens. Ссылка

    
Bryan 25.11.2014 08:44
quelle

Tags und Links