смонтированный каталог docker-compose не переименовывает папки - PullRequest
0 голосов
/ 22 февраля 2019

Итак, я получил папку для переименования в каталог.Каждая другая папка, которую я помещаю в этот смонтированный каталог, говорит:

Предупреждение: переименовать (/ app / public / CoverImages / S3-Uploaded / subfolder-for-deep / 2019-01-15-Uploaded, /app / public / CoverImages / S3-Uploaded / subfolder-to-deep / 2019-01-15-Uploaded-AWS): в доступе /app/src/S3CoverImages.php в строке 260

отказаноМой php-код выглядит следующим образом:

if(is_dir($dirPath)) {
            $success = rename(rtrim($dirPath, " -/"), rtrim($dirPath, " -/") . "-AWS");

Мой код dockerfile для разрешений выглядит следующим образом:

RUN chown www-data:www-data /usr/local/etc/php-fpm.conf && \
  chown -R www-data:www-data /app && \
  chmod -R 755 /app && \
  chown -R www-data:www-data /var/www && \
  chmod +x /usr/local/bin/start.sh; sync

В docker-compose.yml он подключается к нужному нам каталогу:

version: '3.4'
services:
    nginx:
        image: americanreading/someproject:dev
        restart: on-failure:3
        ports:
          - 8001:8080
    php:
        image: americanreading/bisapi-php:dev
        environment:
            #lots of server details here. 
        volumes:
            - /mnt/coverimages/S3-Uploaded/subfolder-for-depth:/app/public/CoverImages/S3-Uploaded/subfolder-for-depth/

Есть ли что-то еще, что мне нужно, чтобы любая папка, помещенная в этот смонтированный каталог, имела разрешение php для переименования папки?Есть ли что-нибудь очевидное, что я не делаю в данный момент?

Почти забыл, вот текущие права доступа, которые мы искали в bash:

arcit@arcvm13:~/arcbis-dev$ docker-compose run --rm php bash
www-data@9a78e9799427:/app$ ls -la /app/public/CoverImages/S3-Uploaded/subfolder-for-depth/
total 16
drwxrwxrwx 2 root root 4096 Feb 25 14:31 .
drwxr-xr-x 3 root root 4096 Feb 25 14:38 ..
-rwxrwxrwx 1 root root 6148 Feb 25 14:32 .DS_Store
drwxrwxrwx 2 root root    0 Oct 20  2015 2010-02-15
drwxrwxrwx 2 root root    0 Feb 25 14:30 2019-01-15-Uploaded
drwxrwxrwx 2 root root    0 Feb 25 14:31 2019-02-07-Uploaded-AWS
drwxrwxrwx 2 root root    0 Feb 22 16:24 2019-02-18

Вот ls -la насама подпапка для глубины:

drwx------@ 1 toddcoulson  staff  16384 Oct 20  2015 2010-02-15
drwx------@ 1 toddcoulson  staff  16384 Feb 25 09:30 2019-01-15-Uploaded
drwx------  1 toddcoulson  staff  16384 Feb 25 09:31 2019-02-07-Uploaded-AWS
drwx------@ 1 toddcoulson  staff  16384 Feb 22 11:24 2019-02-18

1 Ответ

0 голосов
/ 23 февраля 2019

Том создается при запуске контейнера, а не при его создании.По умолчанию разрешения для этого каталога будут root.

Другая проблема заключается в том, что вы привязываете свой том к пути к хосту "/ mnt / coverimages / S3-Uploaded / subfolder-for-depth ".Таким образом, этот каталог будет иметь разрешения вашего хоста (например, user 1000).Решение состоит в том, чтобы добавить этого пользователя в группу www-data в свой Dockerfile.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...