Ich habe eine Weile mit Docker experimentiert und stoße immer wieder auf das gleiche Problem im Umgang mit persistenten Daten.
Ich erstelle mein Dockerfile
und exponiere ein Volume oder verwende --volumes-from
, um einen Host-Ordner in meinem Container einzubinden.
Welche Berechtigungen soll ich dem gemeinsam genutzten Volume auf dem Host zuweisen?
Ich kann mir zwei Optionen vorstellen:
-
Bisher habe ich allen Lese- und Schreibzugriff gewährt, damit ich vom Docker-Container aus in den Ordner schreiben kann.
-
Die Benutzer vom Host in den Container mappen, um genauere Berechtigungen zu vergeben. Ich bin mir jedoch nicht sicher, ob dies möglich ist und habe dazu nicht viel gefunden. Bisher kann ich nur den Container als bestimmten Benutzer ausführen:
docker run -i -t -user="meinbenutzer" postgres
, aber dieser Benutzer hat eine andere UID als mein Host-meinbenutzer
, sodass die Berechtigungen nicht funktionieren. Außerdem bin ich mir unsicher, ob das Zuordnen der Benutzer Sicherheitsrisiken birgt.
Gibt es andere Alternativen?
Wie geht ihr mit diesem Problem um?