{"id":5150,"date":"2024-07-24T10:00:00","date_gmt":"2024-07-24T10:00:00","guid":{"rendered":"https:\/\/netguide.io\/linux\/docker-in-proxmox-ct-lcx-container-oder-vm-best-practices-2\/"},"modified":"2024-07-24T10:00:00","modified_gmt":"2024-07-24T10:00:00","slug":"docker-in-proxmox-ct-lcx-container-oder-vm-best-practices-2","status":"publish","type":"post","link":"https:\/\/netguide.io\/linux\/de\/docker-in-proxmox-ct-lcx-container-oder-vm-best-practices-2\/","title":{"rendered":"Docker in Proxmox: LXC-Container oder VM? Best Practices"},"content":{"rendered":"<script type=\"text\/plain\" data-tcf=\"waiting-for-consent\" data-id=\"4797\" data-bid=\"2\" data-placement=\"4798\">PGRpdiBpZD0ibmV0Z3VpZGVhLTIxMjU0MzY5MjkiIGNsYXNzPSJuZXRndWlkZWEtYmVmb3JlLWNvbnRlbnQgbmV0Z3VpZGVhLWVudGl0eS1wbGFjZW1lbnQiPjxkaXYgY2xhc3M9Im5ldGd1aWRlYS1hZGxhYmVsIj5BZHZlcnRpc2VtZW50czwvZGl2PjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcz9jbGllbnQ9Y2EtcHViLTYyNTg1NTYyNTcyNDU5OTgiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0PjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIiBzdHlsZT0iZGlzcGxheTpibG9jazsiIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjI1ODU1NjI1NzI0NTk5OCIgCmRhdGEtYWQtc2xvdD0iMzQ5NDExNTM0MiIgCmRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4KPHNjcmlwdD4gCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7IAo8L3NjcmlwdD4KPC9kaXY+<\/script>\n<p class=\"wp-block-paragraph\">Docker in <a href=\"https:\/\/netguide.io\/linux\/de\/category\/proxmox\/\" data-internallinksmanager029f6b8e52c=\"1\" title=\"Proxmox Category\">Proxmox<\/a> zu betreiben ist eine der h\u00e4ufigsten Fragen im Homelab, denn der Hypervisor kennt Docker als Technologie gar nicht direkt. <a href=\"https:\/\/netguide.io\/linux\/de\/category\/proxmox\/\" data-internallinksmanager029f6b8e52c=\"1\" title=\"Proxmox Category\">Proxmox<\/a> bietet von Haus aus zwei Arten der Virtualisierung: LXC-Container (Proxmox CT) und vollwertige KVM-VMs. Docker l\u00e4uft in beiden Varianten, doch nicht jede ist gleich gut geeignet. In diesem Guide kl\u00e4ren wir, ob du deinen Docker-Host besser als LXC-Container oder als virtuelle Maschine aufsetzt, und welche Best Practices sich in der Praxis bew\u00e4hrt haben.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">LXC-Container und KVM-VM: der grundlegende Unterschied<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bevor wir entscheiden, wo Docker am besten l\u00e4uft, lohnt ein Blick auf die beiden Virtualisierungsarten, die Proxmox mitbringt. Sie unterscheiden sich grundlegend in der Art, wie sie den Host teilen und wie stark sie isoliert sind.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>LXC-Container (Proxmox CT):<\/strong> Leichtgewichtige, schnelle und ressourcenschonende Virtualisierung. Ideal f\u00fcr skalierbare Anwendungen und Umgebungen, die auf derselben Kernel-Basis aufbauen.<\/li>\n<li><strong>KVM-VMs:<\/strong> Vollst\u00e4ndige, isolierte Betriebssysteme mit st\u00e4rkerer Trennung vom Host und Unterst\u00fctzung f\u00fcr verschiedene Betriebssysteme. Ideal f\u00fcr sicherheitskritische und heterogene Umgebungen.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">LXC-Container sind ressourcenschonender als vollwertige VMs, weil sie sich den Kernel mit dem Host, also dem Proxmox-Server selbst, teilen. Genau daraus ergeben sich aber auch einige Einschr\u00e4nkungen: M\u00f6chte man Features wie NFS, CIFS oder GPU-Passthrough nutzen, muss der CT-Container privilegiert erstellt werden. Wie du \u00fcberhaupt einen Container anlegst, zeigt unsere Anleitung zum <a href=\"\/linux\/de\/proxmox-lxc-container-erstellen\/\">Erstellen eines Proxmox-LXC-Containers<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Das Risiko privilegierter Container<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ein privilegierter Container hat Root-Rechte, die bis auf den Host selbst durchgreifen. Gelingt es einem Angreifer, in einen solchen CT einzudringen, ist es ein Leichtes, den gesamten Host zu kompromittieren. Deshalb sollten privilegierte LXC-\/CT-Container nur in absoluten Ausnahmef\u00e4llen eingesetzt werden. F\u00fcr alles Weitere gilt: unprivilegiert ist die sicherere Standardeinstellung.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Docker in Proxmox: CT oder VM als Host?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kommen wir zur Kernfrage. Im Hinblick auf Flexibilit\u00e4t und Sicherheit gewinnt eindeutig die VM. Eine KVM-VM ist deutlich besser vom Host isoliert als ein CT-Container, kann volle Root-Rechte innerhalb ihrer eigenen Grenzen nutzen, unterst\u00fctzt Features wie GPU-Passthrough und erm\u00f6glicht die Live-Migration. Auch die offizielle Proxmox-Dokumentation empfiehlt, Docker-Hosts als VM umzusetzen.<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Was ist eine Live-Migration?<\/summary>\n\n<p class=\"wp-block-paragraph\">Live-Migration ist der Prozess, bei dem eine laufende virtuelle Maschine von einem physischen Host zu einem anderen verschoben wird, ohne dass der Betrieb der VM unterbrochen wird. So lassen sich Wartungsarbeiten durchf\u00fchren oder Lasten besser verteilen, ohne dass Nutzer eine Ausfallzeit bemerken. Die VM bleibt w\u00e4hrend des gesamten Vorgangs aktiv und erreichbar, was eine hohe Verf\u00fcgbarkeit und minimale Betriebsunterbrechungen gew\u00e4hrleistet.<\/p>\n\n<\/details>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Wer Anwendungscontainer wie Docker-Images betreiben m\u00f6chte, sollte diese laut Proxmox-Dokumentation innerhalb einer QEMU-VM ausf\u00fchren. Das vereint die Vorteile der Anwendungs-Containerisierung mit der starken Isolation vom Host und der F\u00e4higkeit zur Live-Migration, die mit Containern sonst nicht m\u00f6glich ist.<\/p><cite>Sinngem\u00e4\u00df nach: Proxmox Container Toolkit, offizielle Proxmox-Dokumentation<\/cite><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">W\u00e4hrend man Docker durchaus in einem Proxmox-CT-Container nutzen kann und das in einigen Anwendungsf\u00e4llen auch Sinn ergibt, sollte man im Zweifel lieber eine VM verwenden. Der geringe Overhead einer schlanken Linux-VM wiegt die gewonnene Sicherheit und Flexibilit\u00e4t in fast allen Szenarien mehr als auf.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wann ein LXC-Container trotzdem sinnvoll ist<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Es gibt Situationen, in denen der Container die pragmatischere Wahl ist: In sehr ressourcenarmen Umgebungen, bei einzelnen, unkritischen Diensten oder wenn du bewusst maximale Dichte auf wenig Hardware erreichen willst, kann Docker im unprivilegierten LXC eine akzeptable L\u00f6sung sein. Wichtig ist dann, den Container sauber zu konfigurieren und nach M\u00f6glichkeit auf privilegierten Betrieb zu verzichten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Best Practices f\u00fcr den Docker-Host in Proxmox<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Standardm\u00e4\u00dfig eine VM verwenden:<\/strong> F\u00fcr produktive oder sicherheitsrelevante Docker-Workloads ist die KVM-VM die empfohlene Variante.<\/li>\n<li><strong>Schlanke Basis w\u00e4hlen:<\/strong> Eine minimale Debian- oder Ubuntu-Server-VM h\u00e4lt den Overhead klein und die Angriffsfl\u00e4che gering.<\/li>\n<li><strong>Container automatisch neu starten:<\/strong> Sorge mit einer passenden <a href=\"\/linux\/de\/docker-restart-policy-container-automatisch-starten\/\">Docker-Restart-Policy<\/a> daf\u00fcr, dass deine Container nach einem Neustart der VM zuverl\u00e4ssig wieder hochfahren.<\/li>\n<li><strong>Updates automatisieren:<\/strong> Halte deine Images aktuell, etwa indem du <a href=\"\/linux\/de\/docker-container-automatisch-aktualisieren-watchtower\/\">Docker-Container automatisch mit Watchtower aktualisierst<\/a>.<\/li>\n<li><strong>Privilegierte Container meiden:<\/strong> Nutze CT-Container nur unprivilegiert und vergib erh\u00f6hte Rechte ausschlie\u00dflich, wenn es keine Alternative gibt.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Docker l\u00e4uft in Proxmox sowohl im LXC-Container als auch in der VM, doch f\u00fcr die meisten Setups ist die VM die bessere Wahl. Sie bietet st\u00e4rkere Isolation, mehr Flexibilit\u00e4t und die M\u00f6glichkeit zur Live-Migration, w\u00e4hrend der zus\u00e4tzliche Ressourcenbedarf im Homelab kaum ins Gewicht f\u00e4llt. Nur wenn Ressourcen knapp sind und die Dienste unkritisch bleiben, ist ein unprivilegierter LXC-Container eine vertretbare Alternative. Wer auf Nummer sicher gehen will, setzt seinen Docker-Host als schlanke VM auf.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">H\u00e4ufige Fragen (FAQ)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Kann man Docker in einem Proxmox-CT-\/LXC-Container installieren?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ja, Docker l\u00e4sst sich in einem Proxmox-CT-Container installieren und betreiben. In vielen F\u00e4llen ist eine VM aber die robustere und sicherere Wahl.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kann man Docker in einer Proxmox-VM installieren?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ja, Docker kann problemlos in einer KVM-VM installiert werden. Das ist die von der Proxmox-Dokumentation empfohlene Variante f\u00fcr Anwendungscontainer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Welche Risiken ergeben sich bei privilegierten LXC-Containern?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Privilegierte Container haben Root-Zugriff, der bis auf den Host beziehungsweise Hypervisor durchgreift, und stellen damit ein Sicherheitsrisiko dar. Sie sollten nur in Ausnahmef\u00e4llen eingesetzt werden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Was verbraucht weniger Ressourcen: CT-Container oder VM?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Proxmox-CT-\/LXC-Container verbrauchen weniger Ressourcen als vollwertige VMs, da sie sich den Kernel mit dem Host teilen. Der Unterschied f\u00e4llt bei einer schlanken VM im Homelab jedoch meist gering aus.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Warum unterst\u00fctzt Proxmox Docker nicht direkt?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Proxmox ist ein Hypervisor f\u00fcr System-Virtualisierung mit LXC und KVM, nicht f\u00fcr Anwendungs-Container. Docker wird daher innerhalb eines Gastsystems, also in einem LXC-Container oder einer VM, betrieben.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Welche Variante ist die beste Wahl f\u00fcr einen Docker-Host?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In den meisten F\u00e4llen die VM. Sie bietet st\u00e4rkere Isolation, GPU-Passthrough und Live-Migration. Ein unprivilegierter LXC-Container ist nur bei sehr knappen Ressourcen und unkritischen Diensten eine sinnvolle Alternative.<\/p>\n<script type=\"text\/plain\" data-tcf=\"waiting-for-consent\" data-id=\"4799\" data-bid=\"2\" data-placement=\"4800\">PGRpdiBpZD0ibmV0Z3VpZGVhLTYyNTUxNDcyMSIgY2xhc3M9Im5ldGd1aWRlYS1hZnRlci1jb250ZW50IG5ldGd1aWRlYS1lbnRpdHktcGxhY2VtZW50Ij48ZGl2IGNsYXNzPSJuZXRndWlkZWEtYWRsYWJlbCI+QWR2ZXJ0aXNlbWVudHM8L2Rpdj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanM\/Y2xpZW50PWNhLXB1Yi02MjU4NTU2MjU3MjQ1OTk4IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIj48L3NjcmlwdD48aW5zIGNsYXNzPSJhZHNieWdvb2dsZSIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IiBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTYyNTg1NTYyNTcyNDU5OTgiIApkYXRhLWFkLXNsb3Q9IjQ1NTk3ODUwMDIiIApkYXRhLWFkLWZvcm1hdD0iYXV0byI+PC9pbnM+CjxzY3JpcHQ+IAooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOyAKPC9zY3JpcHQ+CjwvZGl2Pg==<\/script>","protected":false},"excerpt":{"rendered":"<p>Docker in Proxmox betreiben: LXC-Container oder VM? Wir vergleichen Sicherheit, Ressourcen und Live-Migration und zeigen, welche Variante wann sinnvoll ist.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5150","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Tobias Pries","author_link":"https:\/\/netguide.io\/linux\/author\/tobias-pries\/"},"uagb_comment_info":0,"uagb_excerpt":"Docker in Proxmox betreiben: LXC-Container oder VM? Wir vergleichen Sicherheit, Ressourcen und Live-Migration und zeigen, welche Variante wann sinnvoll ist.","brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/5150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/comments?post=5150"}],"version-history":[{"count":0,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/5150\/revisions"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/media?parent=5150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/categories?post=5150"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/tags?post=5150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}