Php не может записать файл в Docker - PullRequest
0 голосов
/ 02 мая 2018

Я запускаю приложение Symfony 3.4 с докером, мне нужно загрузить файл и сохранить его в / web / files. Когда я пытаюсь это сделать, я получаю сообщение об ошибке:

Unable to create the "/home/docker/web/files/" directory

Обратите внимание, что я смонтировал каталог в режиме чтения-записи в кокер-композите:

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, но он не работает!

1 Ответ

0 голосов
/ 02 мая 2018

Я создаю отдельный контейнер для своих файлов и просто основываю его на образе 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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...