Я пытаюсь создать проект docker-compose для php-приложения рядом с базой данных, которая автоматически развертывается на компьютере разработчика. Это не проблема, но где он застрял - это composer-install
.
Я хочу иметь каталог с хост-компьютера, который будет привязан к контейнеру, чтобы разработчик мог изменить код и сразу увидеть его в экземпляре докера. Это значит
- Развертывание контейнера с PHP и веб-сервером
- Развертывание базы данных
- Свяжите локальный исходный каталог с контейнером PHP
- Выполнить 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"