web-dev-qa-db-ja.com

docker-compose.ymlからdocker-compose.ymlのマウントされたボリュームの許可を変更するにはどうすればよいですか?

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

docker-compose up -d --buildのときに自動的に許可(chmod)/ var/wwwを変更するにはどうすればよいですか?

8
notalentgeek

コンテナ内のホストからディレクトリをバインドマウントする場合、ファイルとディレクトリはホスト上で持っている権限を維持します。これは仕様によるものです。バインドマウントを使用する場合、コンテナからホストの既存のファイルにアクセスできるようになり、Dockerはこれらのファイルを変更しません。これは非常に危険です(たとえば、ホームディレクトリをバインドマウントすると、ホストのホームディレクトリのファイルアクセス許可が変更され、マシンが使用できなくなる可能性があります)。

それらのファイルのアクセス許可を変更するには、ホストのアクセス許可を変更します。

この詳細については、StackOverflowに投稿した別の回答で見つけることができます。 https://stackoverflow.com/a/29251160/1811501

10
thaJeztah

次のような追加の列の後に権限を追加できます。

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