Права на каталог laravel-project не установлены

#docker #docker-compose #alpine

#docker #docker-compose #alpine

Вопрос:

php Dockerfile :

 FROM php:8-fpm-alpine

WORKDIR /var/www/project

# Install dependencies
RUN apk update amp;amp; apk add zip git libzip-dev postgresql-client postgresql-dev

## Install extensions
RUN docker-php-ext-install opcache zip pdo_pgsql

RUN apk add --no-cache bash

# Install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Copy existing application directory permissions
COPY --chown=www-data:www-data . /var/www/project
 

docker-compose.yml :

 version: '3'

services:

  # NGINX - Service
  nginx:
    build:
      context: .
      dockerfile: docker-compose/nginx/Dockerfile
    ports:
      - "8080:80"
      - "8143:443"
    links:
      - php-fpm
    volumes:
      - ./:/var/www/project

  # PHP-FPM - Service
  php-fpm:
    build:
      context: .
      dockerfile: docker-compose/php/Dockerfile
    volumes:
      - ./:/var/www/project
 

проект ls -la (sudo docker exec -it project_php-fpm_1 bash):

 bash-5.1$ ls -la
total 416
drwxrwxr-x   16 1001     1001          4096 Jan 22 08:52 .
drwxr-xr-x    1 root     root          4096 Jan 22 09:26 ..
-rw-rw-r--    1 1001     1001           126 Nov 13 10:44 .editorconfig
-rw-rw-r--    1 1001     1001          1499 Dec 30 12:04 .env
-rw-rw-r--    1 1001     1001          1422 Nov 26 11:31 .env.example
drwxrwxr-x    8 1001     1001          4096 Jan 22 08:05 .git
-rw-rw-r--    1 1001     1001           111 Nov 10 14:57 .gitattributes
-rw-rw-r--    1 1001     1001           247 Dec  4 20:35 .gitignore
drwxrwxr-x    6 1001     1001          4096 Jan 22 09:26 .idea
-rw-rw-r--    1 1001     1001           356 Nov 18 07:19 .phpunit.result.cache
-rw-rw-r--    1 1001     1001             0 Nov 18 08:50 README.md
drwxrwxr-x   12 1001     1001          4096 Jan  6 19:56 app
-rwxr-xr-x    1 1001     1001          1686 Nov 10 14:57 artisan
drwxrwxr-x    3 1001     1001          4096 Nov 10 14:57 bootstrap
-rw-rw-r--    1 1001     1001          1749 Dec  9 06:39 composer.json
-rw-rw-r--    1 1001     1001        311695 Jan 11 06:54 composer.lock
drwxrwxr-x    2 1001     1001          4096 Jan  6 19:34 config
drwxrwxr-x    5 1001     1001          4096 Nov 10 14:57 database
drwxrwxr-x    4 1001     1001          4096 Jan 21 12:47 docker-compose
-rw-rw-r--    1 1001     1001           435 Jan 22 08:52 docker-compose.yml
drwxrwxr-x    5 1001     1001          4096 Jan 11 06:54 frontend
-rw-rw-r--    1 1001     1001          1202 Nov 10 14:57 phpunit.xml
drwxrwxr-x    5 1001     1001          4096 Jan 21 17:34 public
drwxrwxr-x    4 1001     1001          4096 Nov 23 11:53 resources
drwxrwxr-x    3 1001     1001          4096 Jan 11 06:54 routes
-rw-rw-r--    1 1001     1001           563 Nov 10 14:57 server.php
drwxrwxrwx    5 1001     xfs           4096 Nov 16 12:00 storage
drwxrwxr-x    4 1001     1001          4096 Nov 17 20:31 tests
drwxrwxr-x   52 1001     1001          4096 Jan 11 06:23 vendor
 

Ошибка:

Не удалось открыть поток или файл «/var/www/project/storage/logs/laravel.log» в режиме добавления: не удалось открыть поток: отказано в разрешении

как это можно исправить?

Комментарии:

1. volumes: Перезапишите все, что Dockerfile делает в этом каталоге, включая COPY --chown настройку. Если вы удалите volumes: файл, то запуск контейнера фактически приведет к запуску кода, встроенного в образ, включая любые дополнительные настройки, выполняемые Dockerfile.

2. Это помогло. Заполните форму в качестве ответа. И скажите мне, не лучше ли создать отдельного пользователя в целях безопасности?