Композитор, в то время как 'docker-compose' с привязкой монтирования - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь создать проект docker-compose для php-приложения рядом с базой данных, которая автоматически развертывается на компьютере разработчика. Это не проблема, но где он застрял - это composer-install.

Я хочу иметь каталог с хост-компьютера, который будет привязан к контейнеру, чтобы разработчик мог изменить код и сразу увидеть его в экземпляре докера. Это значит

  1. Развертывание контейнера с PHP и веб-сервером
  2. Развертывание базы данных
  3. Свяжите локальный исходный каталог с контейнером PHP
  4. Выполнить composer-установку в этом каталоге

Дерево каталогов похоже на

/
-php
-- src
-- Dockerfile
-postgres
-- Dockerfile
docker-compose.yml

Я прикрепил отрывки из моего docker-compose.yml и PHP Dockerfile, у кого-нибудь есть идея, почему он не работает, или вижу проблему в порядке, или что-то еще, или даже я могу объяснить, что я должен заметить? Это было бы здорово!

Dockerfile:

FROM xy

RUN curl -sS https://getcomposer.org/installer | php \
        && mv composer.phar /usr/local/bin/ \
        && ln -s /usr/local/bin/composer.phar /usr/local/bin/composer

COPY ./src /var/www/html
WORKDIR /var/www/html/

RUN composer install --prefer-source --no-interaction

Файл Docker-compose:

version: '3.4'
services:
    php:
        build: ./php
        container_name: "php"
        volumes:
             - ./php/src:/var/www/html

    postgres:
        image: postgres:10.4-alpine
        container_name: "postgres"
...