Ich benutze Docker-Compose, um eine portable Entwicklungsumgebung für eine Reihe von Symfony2-Anwendungen einzurichten (obwohl nichts, was ich tun möchte, ist spezifisch für Symfony). Ich habe beschlossen, die Quelldateien auf dem lokalen Computer als Datenvolume mit allen anderen Abhängigkeiten in Docker verfügbar zu machen. Auf diese Weise können Entwickler auf dem lokalen Dateisystem bearbeiten.Docker Berechtigungen Entwicklungsumgebung mit einem Host gemountetes Volume
Alles funktioniert gut, außer dass nach dem Ausführen der App meine Cache- und Protokolldateien und die Dateien, die von Composer im Verzeichnis/vendor erstellt wurden, jetzt im Besitz von root sind.
Ich habe hier über dieses Problem und einige mögliche Ansätze lesen:
Changing permissions of added file to a Docker volume
Aber ich kann nicht ganz recht herauszukitzeln, welche Änderungen ich in meinem Docker-compose.yml Datei machen, so Wenn mein Symphony-Container mit docker-komponiert beginnt, haben alle erstellten Dateien die Berechtigungen des Benutzers auf dem Hostcomputer.
ich die Datei als Referenz bin Entsendung, Arbeiter ist, wo PHP usw. leben:
source:
image: symfony/worker-dev
volumes:
- $PWD:/var/www/app
mongodb:
image: mongo:2.4
ports:
- "27017:27017"
volumes_from:
- source
worker:
image: symfony/worker-dev
ports:
- "80:80"
- mongodb
volumes_from:
- source
volumes:
- "tmp/:/var/log/nginx"