Docker <-> VM

andy_m4 schrieb:
Naja. Das mit dem portabler gilt auch nur, wenn das Zielsystem docker supportet.
Docker-Images sind also nicht per se protabler.
Vielleicht meinst Du aber auch was anderes mit Portabilität.
Natuerlich muss die enstprechende Container runtime installiert sein. Aber anders als bei einer nativen Anwendung muss man nicht erst suchen, welche Daten eventuell wie umgezogen werden muessen. Und anders als bei einer VM musst du nicht die ganze VM exportieren, kopieren und dann auf dem Zielsystem importieren.
 
  • Gefällt mir
Reaktionen: Raijin
NJay schrieb:
Natuerlich muss die enstprechende Container runtime installiert sein.
Vor allem muss sie überhaupt verfügbar sein.
Portabilität im Sinne von "läuft auf anderen Betriebssystemen und anderen Hardwarearchitekturen" hast Du also nur begrenzt bzw. mit Einschränkungen.
Insofern ist da der Begriff Portabilität vielleicht ein wenig dick aufgetragen.

NJay schrieb:
Aber anders als bei einer nativen Anwendung muss man nicht erst suchen, welche Daten eventuell wie umgezogen werden muessen.
Ich weiß zwar nicht wie Du jetzt auf den Vergleich mit einer nativen Anwendung kommst, weil ja von Containern und VMs die Rede war, aber es gibt auch durchaus Single-File-Binaries wo Du nix zusammen suchen musst.

NJay schrieb:
Und anders als bei einer VM musst du nicht die ganze VM exportieren, kopieren und dann auf dem Zielsystem importieren.
Naja. Was das exportieren und importieren angeht kommt es auf den Virtualisierer an. Im einfachsten Fall reicht ja schon das Image + Einstellungen zu übertragen.
Was das kopieren angeht: Das musst Du auch bei Docker. Oder kommt da Dein Image via Magie auf den Zielrechner?
 
andy_m4 schrieb:
Insofern ist da der Begriff Portabilität vielleicht ein wenig dick aufgetragen.
Mir geht es eher darum, die Anwendung eifnach auf ein anderes zielsystem zu uebertragen.

Dazu kommen aber nochw eietre Punkte, du musst einen Container nicht statisch konfigurieren was Hardware angeht, also RAM und CPU. (Kannst es aber). Dazu musst du keinen Speicher definieren. Bei VMs muss man mindestens bei Speicher und RAM etwas genauer hinschauen.

andy_m4 schrieb:
Naja. Was das exportieren und importieren angeht kommt es auf den Virtualisierer an. Im einfachsten Fall reicht ja schon das Image + Einstellungen zu übertragen.
Was das kopieren angeht: Das musst Du auch bei Docker. Oder kommt da Dein Image via Magie auf den Zielrechner?
Das Image ist bei VMs aber oft deutlichd eutlich groesser. Gerne mal im Faktor 3-10 im Vergleich zu einem Containerimage. Ein debian mit ner postgres, nem kleinen Web-backend und nginx ist deutlich groesser als die Images der drei container zusammen. Zusaetzlich musst du bei VMs das Image auch von der Quellmaschine wegkopieren, d.h. es kommt auch auf den Upload der Maschine an. Bei Docker pullt man sichd as Image einfach aus der registry auf dem target neu, das ist Download, da hat man tendentiell mehr bandbreite. (Je nachdem von wo nach wo man eben kopiert)
 
NJay schrieb:
Mir geht es eher darum, die Anwendung eifnach auf ein anderes zielsystem zu uebertragen.
Ist ja völlig klar das Container das Deployment vereinfachen. Das ist aber nicht das, was üblicherweise mit Portabilität bezeichnet wird. Daher ja auch die Nachfrage, wie es gemeint ist.

NJay schrieb:
Dazu kommen aber nochw eietre Punkte, du musst einen Container nicht statisch konfigurieren was Hardware angeht, also RAM und CPU.
Auch bei Docker hast Du Konfigurationsdaten. Entweder implizit dadurch, das man defaults übernimmt (was Du übrigens auch bei VMs machen kannst) oder explizit.
Ja. Die Art der Konfiguration ist eine Andere. Letztlich ist es aber etwas kleinlich das dann zu einer größeren Sache aufzublasen.

NJay schrieb:
Das Image ist bei VMs aber oft deutlichd eutlich groesser.
Ja. Da hast Du recht. Mir selbst gehts auch gar nicht so darum die Dinge zu vergleichen. Sowohl Container als auch VMs haben ihre spezifischen Vor- und Nachteile. Und je nach Anwendungsszenario passt das Eine besser oder das Andere.
Und wenn dann schon Vergleiche kommen und die sehen dann noch ein bissl komisch aus, dann wollte ich das nicht ganz unkommentiert so stehen lassen.
Ich denke, grundsätzlich sind wir uns mit all den Dingen schon einig.

NJay schrieb:
Zusaetzlich musst du bei VMs das Image auch von der Quellmaschine wegkopieren, d.h. es kommt auch auf den Upload der Maschine an. Bei Docker pullt man sichd as Image einfach aus der registry auf dem target neu, das ist Download, da hat man tendentiell mehr bandbreite.
Das ist doch keine Frage von Docker oder VM, sondern wie man sich das organisiert.
Auch Dein Docker-Image kommt nicht mit Zauberei in die Registry. Auch das musste irgendwann irgendwer hochladen.
Das kannst Du mit VMs natürlich genauso machen.
 
andy_m4 schrieb:
Das ist doch keine Frage von Docker oder VM, sondern wie man sich das organisiert.
Auch Dein Docker-Image kommt nicht mit Zauberei in die Registry. Auch das musste irgendwann irgendwer hochladen.
Das kannst Du mit VMs natürlich genauso machen.
Die meisten Leute schreiben aber ihre Images nicht selbst. Ich bezog mich jetzt auf OP, der ja sowas wie eine Datenbank betreiben will. Hier musst du einfach das Image pullen.
 
NJay schrieb:
Die meisten Leute schreiben aber ihre Images nicht selbst.
Ja. Das ist aber jetzt ein albernes Argument. Vor allem weil es nicht zieht. Man könnte sich genauso gut fertige VM-Images ziehen und so was gibt es ja sogar auch.
Wie bereits gesagt ist das keine Frage der Technik, sondern wie man das organisiert.
 
Zurück
Oben