Разрешения на файл Docker между контейнером и локальнымPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Разрешения на файл Docker между контейнером и локальным

Сообщение Anonymous »

У меня нет такого большого опыта работы с Docker, но всегда, когда я пытаюсь использовать его, создавая новый проект с Laravel + Nginx, например, у меня есть те же проблемы с разрешениями, например, когда я создаю модель внутри Docker, и когда я пытаюсь писать на нем в локальном «Phpstorm», мне нужно дать некоторое разрешение с Sudo, то же самое происходит с некоторыми файлами на докере, когда мне нужно, чтобы на все необходимо наказывать, чтобы наказывать, чтобы нанести, как это нужно, чтобы наказывать, как нужно, чтобы нанести, как это нужно, чтобы наказывать, чтобы наказывать, чтобы нанести, как на все необходимы, чтобы нанести, как нужно, чтобы в журнале «Найти». Не знаю, почему это происходит). < /p>
Я пытался использовать чат GPT, чтобы решить это, иногда помогает, но не дает мне постоянное решение, и когда я пробую исправление постоянного, начинает быть сложным и даю мне много других ошибок < /p>
Я использую Laravel 12 + nginx + php84 + docker, мой Linux - это популя! 22.04 < /p>
Я поделюсь моими файлами Docker, чтобы показать мои фактические команды < /p>
docker-comose.yaml
laravel:
driver: bridge

services:
nginx:
image: nginx:alpine
container_name: nginx
restart: unless-stopped
tty: true
ports:
- "7000:80"
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
- .:/var/www/app:delegated
depends_on:
- php
networks:
- laravel

php:
build:
context: .
dockerfile: Dockerfile
container_name: php
restart: unless-stopped
tty: true
expose:
- "9000"
volumes:
- .:/var/www/app:delegated
depends_on:
- postgres
networks:
- laravel

postgres:
image: postgres:15-alpine
ports:
- "5433:5432"
environment:
POSTGRES_DB: laravel
POSTGRES_USER: laravel
POSTGRES_PASSWORD: secret
volumes:
- pgdata:/var/lib/postgresql/data
networks:
- laravel

volumes:
pgdata:

< /code>
dockerfile < /p>
FROM debian:bookworm-slim

RUN apt-get update && apt-get install -y lsb-release ca-certificates apt-transport-https software-properties-common wget unzip curl git zip \
libzip-dev libpng-dev libonig-dev libpq-dev zlib1g-dev libxml2-dev libssl-dev

RUN wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add - \
&& echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list

RUN apt-get update && apt-get install -y \
php8.4 \
php8.4-cli \
php8.4-fpm \
php8.4-pgsql \
php8.4-mbstring \
php8.4-zip \
php8.4-curl \
php8.4-gd \
php8.4-xml \
php8.4-bcmath \
php8.4-intl \
php8.4-soap \
php8.4-opcache \
php8.4-mysql

RUN sed -i 's|listen = /run/php/php8.4-fpm.sock|listen = 9000|g' /etc/php/8.4/fpm/pool.d/www.conf

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

RUN composer global require laravel/installer

ENV PATH="${PATH}:/root/.config/composer/vendor/bin"

WORKDIR /var/www/app

COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh

ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["php-fpm8.4", "-F"]
< /code>
docker-enterpoint.sh
set -e

if [ -d "/var/www/app/storage" ] && [ -d "/var/www/app/bootstrap/cache" ]; then
chown -R www-data:www-data /var/www/app/storage /var/www/app/bootstrap/cache
fi

exec "$@"


Подробнее здесь: https://stackoverflow.com/questions/796 ... -and-local
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»