• 1 Post
  • 9 Comments
Joined 1 year ago
cake
Cake day: June 1st, 2023

help-circle



  • Native Applikationen sind ja auch weiterhin ne gute Sache für bestimmte Anwendungsfälle, in denen Docker die Sache einfach schwieriger macht. Beispiel von mir: für’s Management meiner Access Points betreibe ich einen Unifi Controller in einem Docker, was an sich kein Problem ist. Wenn man dann aber anfängt, mit VLANs und Konsorten zu hantieren, muss man einige Verrenkungen machen, damit der relevante Traffic auch im Container ankommt. Wenn man den Controller nativ betreibt, hat man sich quasi einen Mittelsmann gespart.

    Ich muss aber dazu sagen, dass ich grundsätzlich aus der Schleife bin und deswegen vielleicht auch träge bei neuen (hab ~2014 davon gelesen gehabt) Entwicklung.

    Ist ja nicht verkehrt, manche Trends verschwinden ja nach ein paar Jahren auch wieder :D

    Für viele nützliche Dienste gibt es inzwischen auch häufig direkt vom Entwickler docker-compose Files, die es echt trivial machen, eine Anwendung inklusive aller benötigten anderen Dienste hochzufahren und somit einen guten Startpunkt liefern, sich mal näher mit der Materie zu beschäftigen.

    Aber Docker ist wirklich super praktisch. Ich hatte die “Idee” hinter Docker mal irgendwo als Meme gesehen, was in Textform ungefähr so geht: “But it works on my machine!” - “Well, then we’ll just ship your machine”


  • Container sind keine Virtualisierung im Sinne einer VM. Viel mehr funktionieren sie (zumindest unter Linux, keine Ahnung von Windows) über Kernel-kontrollierte Ressourcenverwaltung und Abschottung vom Host und anderen Containern (konkret hauptsächlich mittels CGroups & Namespaces). Die eine Sache, die du in keinem Docker-Image finden wirst, ist ein OS-Kernel, der den Container verwaltet, denn das passiert alles nativ über den Kernel des Hosts. Also weniger Virtualisierung als Sandboxing.

    Es geht also so gut wie keine Performance verloren, zumindest verglichen mit einer VM, einfach weil der rechenintensive Teil von Hypervisors wie VirtualBox/KVM+Qemu, das Emulieren von privilegierten Instruktionen, schlicht nicht nötig ist.

    Ich geb dir natürlich Recht, dass man tendenziell mehr Speicher benötigt, wenn man 8 Instanzen von libffmpeg halten muss. Aber sobald einer deiner Dienste aus irgendeinem Grund nicht mit der aktuellen Version davon funktioniert, die anderen aber die neueste Version brauchen, ist Docker sehr praktisch, denn man muss sich einfach nicht mehr mit Versionskonflikten in den verwendeten Bibliotheken etc. rumschlagen, wenn jeder Container eigene kompatible Versionen mitbringt.

    Notiz am Rande: Windows verwendet genauso gemeinsam genutzte Bibliotheken. DLLs sind konzeptionell nix anderes als .so Bibliotheken unter Linux. Die Bibliotheken unter C:\System32 sind ein gutes Beispiel.


  • It was underpowered when the Switch released, yes, but I’d wager that it was a good choice for the application when Nintendo started designing the Switch. Couple that with the (not unreasonable IMO) expectation that there would be successors to the X1 that they could hypothetically put into the Switch and release a higher-perf revision with minimal changes, I can see why they chose it. Unfortunately, Nvidia dropped the X1 line and that (again, purely speculative) scenario never manifested.



  • To be fair™ they did at least do a little bit to deal with the existing answers becoming obsolete by changing the default answer sorting. The “new” (it’s already been at least a year IIRC) sorting pushes down older answers and allows newer answers to rise to the top with fewer votes. That still doesn’t fix the issue that the accepted answer likely won’t change as new ways of doing things become standard, but at least it’s a step in the right direction.