У меня нет такого большого опыта работы с 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
Разрешения на файл Docker между контейнером и локальным ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1749745498
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 "$@"
Подробнее здесь: [url]https://stackoverflow.com/questions/79663838/docker-file-permissions-between-container-and-local[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия