web-dev-qa-db-fra.com

Comment modifier l'autorisation des volumes montés dans docker-compose.yml à partir du fichier docker-compose.yml?

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

Comment puis-je modifier l'autorisation (chmod)/var/www automatiquement lorsque docker-compose up -d --build?

4
notalentgeek

Lorsque vous montez un répertoire à partir de l'hôte dans un conteneur, les fichiers et les répertoires conservent les autorisations dont ils disposent sur l'hôte. Cela est voulu par la conception même: lorsque vous utilisez un montage lié, vous donnez au conteneur l'accès aux fichiers existants à partir de l'hôte et Docker n'apportera aucune modification à ces fichiers; cela serait très dangereux (par exemple, le montage de votre répertoire personnel sous la forme de liaisons modifierait les autorisations d'accès aux fichiers du répertoire personnel de votre hôte, ce qui pourrait rendre votre machine inutilisable).

Pour modifier les autorisations de ces fichiers, modifiez leurs autorisations sur l'hôte.

Vous pouvez trouver plus d'informations à ce sujet dans une autre réponse que j'ai postée sur StackOverflow: https://stackoverflow.com/a/29251160/1811501

4
thaJeztah

vous pouvez ajouter les autorisations après une colonne supplémentaire comme:

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