Ich starte sechs oder sieben Container über eine Docker-Compose-Datei. Ein Container verursacht ein großes Problem! Hier ist der relevante Abschnitt:
%Vor% Wenn main-app-container
über docker-compose up
(als root-Benutzer) gestartet wird, werden die Dateisystemberechtigungen in vielen Verzeichnissen im Commit-Container alle in root geändert! Dies läuft auf Ubuntu 14.04, Docker 1.12.x (nicht sicher welches x).
Wir haben ein anderes System, in dem wir alles als lokaler Benutzer ausführen. Wenn wir eine Shell in diesem Container ausführen, sind alle Dateiprivilegien von unserem lokalen Benutzer, der das Eigentumsrecht hatte, als es festgeschrieben wurde. Vom Googeln bin ich mir ziemlich sicher, dass es etwas mit den Bänden zu tun hat, aber nichts definitives finden konnte. Jede Hilfe ist willkommen!
Dies ist das erwartete Verhalten für Host-Mounts, das heißt, alles in /opt/mycompany/sys/config
hat die gleiche UID / GID, die die Dateien auf dem Host haben - das ist beabsichtigt.
Entweder ändern Sie die Dateien in die UID / GID, die Sie auf dem Host benötigen: chown -R 123:321 /opt/mycompany/sys/config
oder richten Sie Ihren Container so ein, dass er die UID / GID des Hosts verwenden kann.
Es hat nichts mit docker-compose zu tun, es würde genauso passieren, wenn Sie
verwenden docker run -v /opt/mycompany/sys/config:/opt/mycompany/sys/config mycompany/sys:1.2.3
Tags und Links docker docker-compose