Я запускаю приложение Symfony 3.4 с докером, мне нужно загрузить файл и сохранить его в / web / files. Когда я пытаюсь это сделать, я получаю сообщение об ошибке:
Unable to create the "/home/docker/web/files/" directory
Обратите внимание, что я смонтировал каталог как Read-Write в cocker compose:
version: '2'
services:
front:
image: nginx
ports:
- "81:80"
links:
- "engine:engine"
- "db:db"
volumes:
- ".:/home/docker:ro"
- "./docker/front/default.conf:/etc/nginx/conf.d/default.conf:ro"
engine:
build: ./docker/engine/
volumes:
- ".:/home/docker:rw"
- "./docker/engine/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro"
links:
- "db:db"
working_dir: "/home/docker"
db:
image: camptocamp/postgres:9.6
ports:
- "5433:5432"
environment:
- "POSTGRES_DB=pfe"
- "POSTGRES_PASSWORD=admin"
- "POSTGRES_USER=admin"
- "PGDATA=/var/lib/postgresql/data/pgdata"
Я даже создал файлы каталога в / web, но он не работает!






Я создаю отдельный контейнер для своих файлов и просто основываю его на образе apache. Затем я использую ключ volumes_from, чтобы передать его в свой php. Попробуйте что-нибудь вроде этого:
services:
apache:
build: ./build/httpd
links:
- php
ports:
- 80:80
- 443:443
volumes_from:
- app
php:
build: ./build/php
ports:
- 9000
- 9001
volumes_from:
- app
links:
- mariadb
- mail
app:
image: httpd:latest
volumes:
- ./:/var/www/html
command: "echo true"
это просто контейнер, который синхронизирует ваши файлы и, по-видимому, работает быстрее, это могло быть любое старое изображение tbh. Обратите внимание, что я вообще не установил никаких разрешений и никогда не получаю никаких ошибок разрешений. Что касается того ответа, который вы нашли, вы запускали эту команду ВНУТРИ своего докера или снаружи в ОС хоста?
Я не вижу смысла запускать другой контейнер Apache, но я нашел решение здесь: stackoverflow.com/questions/39842112/…