web-dev-qa-db-de.com

Wie kann ich die Erlaubnis eingehängter Volumes in docker-compose.yml von docker-compose.yml aus ändern?

version: '2'
services:
    web:
        build:
            context: ./
            dockerfile: deploy/web.docker
        volumes:
            - ./:/var/www
        ports:
            - "8080:80"
        links:
            - app

Wie kann ich die Berechtigung (chmod)/var/www automatisch ändern, wenn docker-compose up -d --build?

4
notalentgeek

Beim Bindemount eines Verzeichnisses vom Host aus in einem Container behalten die Dateien und Verzeichnisse die Berechtigungen, die sie auf dem Host haben. Dies ist beabsichtigt: Wenn Sie ein Bind-Mount verwenden, geben Sie dem Container vom Host aus Zugriff auf vorhandene Dateien, und Docker nimmt keine Änderungen an diesen Dateien vor. Dies wäre sehr gefährlich (zum Beispiel würde das Home-Verzeichnis durch Binden an ein Host-Verzeichnis von Hosts geändert werden, was dazu führt, dass Ihr Computer nicht mehr verwendet werden kann).

Um die Berechtigungen dieser Dateien zu ändern, ändern Sie ihre Berechtigungen auf dem Host.

Weitere Informationen hierzu finden Sie in einer anderen Antwort, die ich auf StackOverflow gepostet habe: https://stackoverflow.com/a/29251160/1811501

4
thaJeztah

sie können die Berechtigungen nach einer zusätzlichen Spalte hinzufügen:

volumes:
        - ./:/var/www:ro //read only
0
Edwin