Ja, alles bestensDanke!
Aber werden auch Updates gefunden? Die Container laufen bei mir auch, finden im LXC aber keine neuen "images".
Ja, alles bestensDanke!
Aber werden auch Updates gefunden? Die Container laufen bei mir auch, finden im LXC aber keine neuen "images".
OK, verstanden. Dann also nur LXC. Dann wäre noch meine Frage wegen der Ressourcen:Noch einmal: Wofür? LXC und Docker sind beides eine Art von Container und ob da nun "wichtige" Anwendungen oder "kleinere" Anwendungen laufen spielt keine Rolle.
Vermutlich weil irgendjemand dafür mal - aus was für Gründen auch immer - einen Bedarf hatte. Wie bereits geschrieben: Einen Container (Docker) in einem Container (LXC) laufen zu lassen macht nicht wirklich Sinn. D.h. nicht das man das nicht machen kann, oder warum auch immer machen möchte. Docker und LXC sind halt nicht 1:1 identisch, aber es sind beides Container Varianten. Aber wie die anderen User hier ja schon erwähnt haben installiert man sich Docker üblicherweiser in einer VM und nicht in einem LXC.
D.h. die Anwendungen die Du jetzt auf der DS im Docker laufen hast kannst Du mit sehr großer Wahrscheinlichkeit dann auch in einm LXC laufen lassen. Dadurch ergibt sich zwar die ein oder andere kleine Änderung, aber auf den Betrieb der Anwendung hat das nicht wirklich eine Auswirkung. Das wäre zumindest die übliche Vorgehensweise. Wenn Du - warum auch immer - weiterhin Docker benutzen möchtest installierst Du Dir eine Linux VM als Basis und darunter dann Docker.
VG JIm
CPUs kann man überbuchen, solange man es nicht übertreibt, RAM sollte dagegen nicht überbucht werden, weil es dann entweder extrem langsam wird ( sofern Swap vorhanden) oder der Linux-Kernel anfängt Prozesse ( also auch vms und container) abzuschießen, um RAM frei zu bekommen.Heißt das, ich kann maximal 32 GB auf die LXC und VM zuweisen? Oder kann man in Summe mehr zuweisen und der Proxmox Server verteilt die Ressourcen nach Bedarf bzw. anteilig?
Super Danke. Dann hab ich jetzt alles. Dann werde ich mal anfangen, die bestehenden Docker-Container in LXC neu aufzusetzen. Ist ja noch nicht viel ...CPUs kann man überbuchen, solange man es nicht übertreibt, RAM sollte dagegen nicht überbucht werden, weil es dann entweder extrem langsam wird ( sofern Swap vorhanden) oder der Linux-Kernel anfängt Prozesse ( also auch vms und gontainer) abzuschießen, um RAM frei zu bekommen.
Mit zram kann man sich ( dafür steigt die CPU-Last) etwas Luft verschaffen:
https://wiki.debian.org/ZRam
CPUs kann man überbuchen, solange man es nicht übertreibt, RAM sollte dagegen nicht überbucht werden, weil es dann entweder extrem langsam wird ( sofern Swap vorhanden) oder der Linux-Kernel anfängt Prozesse ( also auch vms und container) abzuschießen, um RAM frei zu bekommen.
Mit zram kann man sich ( dafür steigt die CPU-Last) etwas Luft verschaffen:
https://wiki.debian.org/ZRam
Jetzt muss ich doch nochmal eine Frage zur Ressourcenverwaltung LXC und Docker stellen.
Bei LXC Containern muss ich jedem Container seine Ressourcen zuweisen und sollte insbesondere den Ram nicht überbuchen. OK, verstanden.
Aber dann sehe ich aber doch einen Vorteil von Docker: Wenn ich Docker auf einer VM installieren, brauche ich nicht jedem Container einzeln die Ressourcen zuweisen. ich verstehe es so, dass Docker sich für alle Container der Ressourcen der VM nach Bedarf bedient. Da die meisten meiner Container ohnehin kaum etwas tun (Dashboard, Bitwarden, Paperless, usw.), könnte ich eine Reihe Container aufsetzen und muss nur einmal z.B. 8 GB Ram vergeben. Wenn ich alle Container einzeln als LXC aufsetzen würde, käme ich in Summe hws. auf eine höhere RAM-Zuweisung, wenn ich die empfohlenen RAM -Werte ansetze.
Verstehe ich das richtig? Hat da nicht Docker doch Vorteile?
sondern packt alle Docker-Instanzen in eine VM.
Docker hat für mich den Vorteil, dass Container Instanzen vergänglich sind und - je nach Umgebung - keine Änderungen am Filesystem zulassen. Das bedeutet:
- der Container kann jederzeit gelöscht und neu erstellt werden
- alle persistenten Informationen müssen außerhalb des Containers gespeichert werden (in einem Volume).
Klar Für die Anwendung im Heimnetz dürfte das aber ein bissel too much sein. Unter anderen deshalb ist ja ixsystems für TrueNAS Scale im jüngsten Release für Apps von Kubernetes auf docker umgestiegen. Wenn man natürlich das ganze auch als Lernchance sieht, bietet sich Kubernetes natürlich an, ich würde nur dann nichts produktiv darauf laufen lassen. Für Produktives gilt: "Keep it simple, stupid" und das ist Kubernetes bei all seinen Vorzügen halt beim besten Willen nicht.… oder in mehrere VMs und packt einen Container Orchestrator wie Kubernetes dazwischen.
Für Produktives gilt: "Keep it simple, stupid" und das ist Kubernetes bei all seinen Vorzügen halt beim besten Willen nicht.
CPUs kann man überbuchen, solange man es nicht übertreibt, RAM sollte dagegen nicht überbucht werden, weil es dann entweder extrem langsam wird ( sofern Swap vorhanden) oder der Linux-Kernel anfängt Prozesse ( also auch vms und container) abzuschießen, um RAM frei zu bekommen.
...
Naja, die Frage ist ja nicht nur, wieviel CPU-Kerne du zugewiesen hast, sondern auch wieviel RAM. Außerdem würde ich Screenshots/Tutorials auch immer mit einer gewissen Skepsis betrachten, nur weil da jemand mal einen Screen von gemacht hat, heißt das nicht, dass er oder sie das so dauerhaft betreibtIch habe in meinem Mini-Test-PC einen 8-Core Prozessor. Diese 8 Kerne sind aber schnell vergeben: Ich habe LXC Container mit einem MS SQL Server, Adguard, Paperless, Bitwarden, Bookstack usw. Selbst, wenn ich jedem Container nur einen Core zuweise, ist bei spätestens 8 Containern Schluss, oder man überbucht, dann kommen vielleicht noch 2-4 Container dazu.
Wenn Du jetzt schreibst, man soll es bei der Buchung der CPU nicht übertreiben, dann frage ich mich, wie es andere machen. In manchen Tutorials sieht man Proxmox Server mit etlichen LXC Containern. Da müsste ja erheblich überbucht worden sein? Oder habe ich das falsch verstanden?
Typ / Zweck / Core / Ram / HDD
LXC / adguard / 1 / 512 MB / 2 GB
LXC / MS SQL Server / 4 / 8 GB / 64 GB
LXC / Dashboard / 2 / 1 GB / 3 GB
LXC / NGINX / 2 / 1 GB / 4 GB
LXC / PaperlessNGX / 2 / 8 GB / 30 GB
LXC / homebox / 1 / 1 GB / 10 GB
VM / ubuntu mit Docker / 4 / 8 GB / 128 GB
Die meisten Container tun ja die meiste Zeit nichts, insbesondere die mit viel Ressourcenzuordnung wie Paperless sind die meiste Zeit arbeitslos. Daher meine Frage, ob da nicht Docker besser wäre. Vom reinen Handling her ist mir LXC lieber als Docker.
Ich frage mich mittlerweile auch schon, ob ich mit Proxmox die richtige Wahl getroffen habe, weil es ja eine Virtualisierungsumgebung ist und ob z.B. Unraid am Ende geeigneter wäre für meine Anforderung (ich hatte Unraid auch schon probiert, gefällt mir vom Handling aber überhaupt nicht).
Oder sind die Dienste am Ende dann doch zu viel für einen Server und ich brauche einen zweiten?
https://learn.microsoft.com/de-de/sql/linux/sql-server-linux-setup?view=sql-server-ver16MS SQL Server oder Mysql? Mir ist neu, dass der MS SQL Server auch unter Linux läuft
TOP!Hallo,
ich habe nun meine ersten Gehversuche auf Proxmox hinter mir und bin erstmal sehr zufrieden, einfach auch, weil es funktioniert.
Interessant, docker in lxc laufen zu lassen, ich hab immer VMs genommen. Ja, klingt prima, so lange kein Container "priviledge" braucht (z.B. um auf ZFS ACLs zugreifen zu können).Aktuell laufen bei mir auf meienr Synology einige Docker-Container. Diese Dienste möchte ich sukzessive nach Proxmox umziehen.
Ich habe nun einen LXC Container aufgesetzt und darauf dann Docker installiert mit den ersten Containern (Adguard, NGINX, Portainer, Watchtower).
Wenn Du jetzt schon docker Container hast, lass doch Deine n Docker Container in einem LXC Container laufen. Wenn etwas kommt, was damit nicht mehr so gut geht, dann erst würde ich weitere machen - sonst wird es schnell unnütz kompliziert.Demnächst sollen die Anwendungs-Dienste wie Paperless und Bitwarden folgen. Danach Jellyfin, YT-Download und weitere für den Heimgebrauch.
Ich verstehe zwar den Unterschied der beiden Ansätze, dennoch stellt sich bei mir die Frage, ob ich diese alle in eigenen, separaten LXC Containern laufen lassen soll oder gesammelt im bestehenden Docker?
Der Hauptuntschied zwischen LXC und Docker (oder podman) ist meiner Meinung nach, dass Docker eher ein Deployment-Tool ist, also eine Form, in der man Software liefert, und LXC eher eine generische virtuelle Umgebung.Was ist da sinnvoll? Gibt es da irgendwelche Kriterien, wonach man das beurteilen kann? Oder ist es letztlich egal. An Docker gefällt mir, dass ich einmal für alle Container die Ressourcen definiere. Wo liegen die Vorteile bei LXC?
Ich würde 1 Dienst = 1 Docker sehen, wobei "extern sichtbare Dienste" u.U. mehrere brauchen (und docker compose oder sowas nutzen)Ich frage auch deshalb, weil in vielen Tutorial Videos, die ich mir angesehen habe, dort sehr oft die 1 Dienst = 1 LXC Container gesehen habe.
Ja, ist ja auch irgendwie die logische Fortsetzung davon (allerdings glaube ich, eher von BSD jails inspiriert).Mag sein. Aber nicht für mich; daher schrieb ich oben: Choose your poison...
Ich leide auch etwas unter der generellen Konstruktion von Containern, egal ob LXC oder Docker: die Trennung zum Host ist nur hauchdünn und nachträglich aufgesetzt - was immer schlecht ist. Ursprünglich gab es weder Namespaces im Kernel noch sonst etwas, Container waren einfach nur bessere "chroot"s.
Na ja, das ist ja gerade das "Feature", so kann man z.b. schnell zwischen Containern kommunizieren. Bei docker macht man ja gern "localhost" Kommunikation, z.b. von Webserver zu Datenbank, das ist dann schnell. Der Container muss gar keine IP Adresse haben, ist wie ein Prozess, nur besser isoliert.Mittlerweile ist das wesentlich besser gelöst und wird allgemein als benutzbar eingestuft. Aber der einzige Kernel wird immer noch geteilt.
Ja, für Sicherheitssachen würde ich auch immer VMs statt Container (und alles statt docker ) nehmen.Gut, dass es im Kernel keine Bugs gibt...
Und erste Wahl ist software-emulation mit QEMU?Frohe Weihnachten
PS: bitte nicht missverstehen, ich hatte Container schon verwendet, als es sie noch gar nicht gab ;-) und sie stattdessen "OpenVZ" genannt wurden: https://en.wikipedia.org/wiki/OpenVZ. Aber heute kann meine Hardware KVM und Container sind für mich definitiv nur zweite Wahl.
Ja klar hat es Vorteile. Der Punkt ist übrigens auch ein Nachteil (ein kaputtes Paperlessng kann Bitwarden den RAM "klauen").Jetzt muss ich doch nochmal eine Frage zur Ressourcenverwaltung LXC und Docker stellen.
Bei LXC Containern muss ich jedem Container seine Ressourcen zuweisen und sollte insbesondere den Ram nicht überbuchen. OK, verstanden.
Aber dann sehe ich aber doch einen Vorteil von Docker: Wenn ich Docker auf einer VM installieren, brauche ich nicht jedem Container einzeln die Ressourcen zuweisen. ich verstehe es so, dass Docker sich für alle Container der Ressourcen der VM nach Bedarf bedient. Da die meisten meiner Container ohnehin kaum etwas tun (Dashboard, Bitwarden, Paperless, usw.), könnte ich eine Reihe Container aufsetzen und muss nur einmal z.B. 8 GB Ram vergeben. Wenn ich alle Container einzeln als LXC aufsetzen würde, käme ich in Summe hws. auf eine höhere RAM-Zuweisung, wenn ich die empfohlenen RAM -Werte ansetze.
Verstehe ich das richtig? Hat da nicht Docker doch Vorteile?
We use essential cookies to make this site work, and optional cookies to enhance your experience.