Docker und andere Container in Proxmox mit gemeinsamen Speicher? (inklusive Schreibrechte)

itspuia

New Member
Dec 7, 2022
8
0
1
Hallo!
ich bin sehr neu in Proxmox und versuche folgendes Setup aufzubauen:
Proxmox mit mehreren VMs und Containern, davon eines Plex in einem LXC und Docker in einem LXC. Beide sollen Lese- und Schreiberechte auf die gleiche 4TB HDD haben.

Leider schaffe ich dieses Setup nicht vollständig. Ich kann zwar Docker installieren, Plex installieren und einen Bindmount erstellen, auf den beide Zugriff haben, allerdings habe ich keine Schreibrechte für die jeweiligen Container.

Alternativ habe ich versucht mithilfe von Samba einen FileServer zu erstellen, der von Windows und auch von meinen beiden Containern aus erreichbar ist. Dies funktioniert zwar, aber auch hier habe ich keine Schreibrechte in dem Dockercontainer.

Welche Optionen sind für mich am besten geeignet? Es Geht letztendlich darum, dass ich mit diversen Containern über Docker Medien herunterlade, die auf Plex erreichbar sind. Gerne auch gleichzeitig via Samba erreichbar sind.

Ich danke im Voraus
 
Den Artikel bezüglich User Remapping von unprivilegierten LXCs hast du dir angeguckt? UID/GID 0 bis 65535 im unprivilegierten LXC sind ja in Wirklichkeit UID/GID 100000 bis 165535 auf dem Host: https://pve.proxmox.com/wiki/Unprivileged_LXC_containers

Also wenn UID 1000 im unprivilegierten LXC Zugriff auf einen gebindmounteten Ordner vom Host haben soll, dann muss der Ordner UID 1001000 auf dem Host gehören, sofern du dem Ordner nicht 777 Rechte verpasst, dass da jeder volle Rechte besitzt.
 
Last edited:
Hallo,

bitte auch beachten, dass es ausdrücklich empfohlen ist, Docker in einer VM laufen zu lassen.

Weder Docker in LXC noch Docker direkt auf dem Proxmox sind gut - und wir hatten vor kurzem hier auch eine Reihe von Problemen, die in diesem Zusamenhang aufgetreten sind.

Viele Grüße,
Benedikt
 
Den Artikel bezüglich User Remapping von unprivilegierten LXCs hast du dir angeguckt? UID/GID 0 bis 65535 im unprivilegierten LXC sind ja in Wirklichkeit UID/GID 100000 bis 165535 auf dem Host: https://pve.proxmox.com/wiki/Unprivileged_LXC_containers

Also wenn UID 1000 im unprivilegierten LXC Zugriff auf einen gebindmounteten Ordner vom Host haben soll, dann muss der Ordner UID 1001000 auf dem Host gehören, sofern du dem Ordner nicht 777 Rechte verpasst, dass da jeder volle Rechte besitzt.
Dankeschön,

ich habe es mir bereits angeschaut und habe versucht nach dieser und einer anderen Anleitung her die UID zu ändern. Es scheint, als hätte ich es nicht ganz verstanden, denn die Änderung die ich in den subgid bzw subuid Dateien durchgeführt habe, führten zu einem kompletten Chaos auf meinem Server. Die LXC konnten nicht mehr starten und selbst nachdem ich alles wieder Rückgängig gemacht habe, funktionierte die Erstellung von Containern nicht mehr. Ich weiß nicht wo da der Fehler lag und habe Proxmox neu installieren müssen.

Wäre es möglich, mir ein Beispiel explizit für mein Setup zu geben?
Wenn ich ein Bindmount wie folgt in Container 102 einbinde:
mp0: /mnt/pve/festplatte,mp=/shared

was muss ich dann explizit in den subgid und subuid meines pve bzw. in der 102.conf Datei ändern, um die passenden Rechte zu haben? Ich habe ehrlich gesagt Angst, dass ich wieder einen Fehler mache und erneut das System neu installieren muss, und würde mich über eine genaue Angabe freuen.

Vielen Lieben Dank!
 
Hallo,

bitte auch beachten, dass es ausdrücklich empfohlen ist, Docker in einer VM laufen zu lassen.

Weder Docker in LXC noch Docker direkt auf dem Proxmox sind gut - und wir hatten vor kurzem hier auch eine Reihe von Problemen, die in diesem Zusamenhang aufgetreten sind.

Viele Grüße,
Benedikt
Danke, Das habe ich jetzt mehrmals empfohlen bekommen und werde es auch zu Herzen nehmen. Sobald ich in Containern die Rechte passend eingerichtet habe, werde ich Docker in einer Ubuntu VM installieren. Danke für den Hinweis!
 
Danke, Das habe ich jetzt mehrmals empfohlen bekommen und werde es auch zu Herzen nehmen. Sobald ich in Containern die Rechte passend eingerichtet habe, werde ich Docker in einer Ubuntu VM installieren. Danke für den Hinweis!
Da dann aber wieder nicht vergessen, dass du nicht ohne weiteres einen Ordner vom Host in eine VM bind-mounten kannst.

Dankeschön,

ich habe es mir bereits angeschaut und habe versucht nach dieser und einer anderen Anleitung her die UID zu ändern. Es scheint, als hätte ich es nicht ganz verstanden, denn die Änderung die ich in den subgid bzw subuid Dateien durchgeführt habe, führten zu einem kompletten Chaos auf meinem Server. Die LXC konnten nicht mehr starten und selbst nachdem ich alles wieder Rückgängig gemacht habe, funktionierte die Erstellung von Containern nicht mehr. Ich weiß nicht wo da der Fehler lag und habe Proxmox neu installieren müssen.

Wäre es möglich, mir ein Beispiel explizit für mein Setup zu geben?
Wenn ich ein Bindmount wie folgt in Container 102 einbinde:
mp0: /mnt/pve/festplatte,mp=/shared

was muss ich dann explizit in den subgid und subuid meines pve bzw. in der 102.conf Datei ändern, um die passenden Rechte zu haben? Ich habe ehrlich gesagt Angst, dass ich wieder einen Fehler mache und erneut das System neu installieren muss, und würde mich über eine genaue Angabe freuen.

Vielen Lieben Dank!
Das hängt ganz davon ab, welche User/Gruppen dann später auf den Bind-Mount zugreifen sollen.
 
Da dann aber wieder nicht vergessen, dass du nicht ohne weiteres einen Ordner vom Host in eine VM bind-mounten kannst.


Das hängt ganz davon ab, welche User/Gruppen dann später auf den Bind-Mount zugreifen sollen.
Danke, genau das ist, was ich wohl nicht ganz durchblicke. Ich möchte, dass der admin- bzw. der root-Account von meinem Docker Container bzw. später dann von meiner Ubuntu VM o.ä. Zugriff auf den Bind-Mount bzw. lediglich auf ein Verzeichnis dieses Bind-Mounts zugreifen kann. Ist dies, was mit User bzw. Gruppen gemeint ist?
 
Und Docker selbst hat dann auch zusätzlich noch einmal Bind-Mounting zwischen LXC und Docker Container.

Also PVE Host -> Bind-Mount mit User-Remapping -> unprivilegierter LXC -> Bind-Mount -> Docker Container.
Die User, die in den Docker Containern benutzt werden, werden brauchen also über 2 Umwege Zugriff auf den Ordner vom Host.
Und wenn man dann noch Rootless Docker betreiben will, dann gibt es noch einmal User-Remapping zwischen LXC und Docker Container. aber keine Ahnung ob dann doppelt remappt wird.

Am einfachsten wäre es da, wenn auch nicht gerade sicher, wenn man dem Ordner auf dem PVE Host chmod 777 gibt.
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!