Как настроить права в Docker?
Возможно что-то не до конца скопипастила, просто нет живого проекта под рукой. Для своих пет проектов я настроила работу докера из под моего обычного юзера системы. Сначала сделала так, чтобы docker и docker-compose работали от юзера (есть инструкция в интернете, надо пошаманить с группами юзеров), потом в docker-compose.env добавила такое
#run echo $(id -u):$(id -g) and copypaste it to HOST_USER variable
#HOST_USER is needed to run docker containers under current user on host machine
HOST_USER=1234:1234
Потом в docker-compose.yml
version: "3"
services:
    nginx:
        image: nginx:latest
        ports:
            - "8081:80"
        volumes:
            - .:/app
            - ./docker/nginx/:/etc/nginx/conf.d/
        depends_on:
            - php-fpm
        working_dir: /app
        networks:
            - internal
    php-fpm:
        user: ${HOST_USER}
        working_dir: /app
        build:
            context: ./docker/php-fpm
            dockerfile: Dockerfile
        volumes:
            - .:/app
            - ./docker/php-fpm/log/:/var/log/
            - /etc/group:/etc/group:ro #####вот
            - /etc/passwd:/etc/passwd:ro #####вот
        ports:
            - '9000:9000'
        networks:
            - internal
        environment:
            XDEBUG_CONFIG: "remote_host=192.168.220.1 remote_enable=1"
            PHP_IDE_CONFIG: "serverName=PHPSTORM"
В докерфайлах ничего не дописывала. У меня это только для php-fpm, но думаю что для nginx и mysql можно делать по аналогии
Вот тут есть пример контейнера в котором nginx и PHP работают под пользователем nobody:

https://github.com/TrafeX/docker-php-nginx/blob/ma...

P.S. писать веб логи из контейнера в файл на хосте - плохая практика.
Стандартное решение - писать логи в stdout / stderr, а уже на хосте решать что с ними делать.