#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. Это помогло. Заполните форму в качестве ответа. И скажите мне, не лучше ли создать отдельного пользователя в целях безопасности?