Здравствуйте. Собираю образ, в задачи которого входит держать контейнер с ларавелем. hitalos/laravel подымает тех. инфраструктуру, а в дочернем образе ставлю фреймворк, который должен жить в проброшенной на хост папке (./www:/var/www).
Беда в том, что вся инсталляция исходов производится внутри образа, в /var/www, и к моменту запуска сервиса ./www у нас пустая, т.о. хост никакой связи с контейнерным контентом не имеет. Я недавно заморочился докером, потому не хочу начинать наше с ним знакомство с костылей. Подскажите, как поступить в моем случае? Спасибо
docker-compose.yml:
version: "3"
services:
web:
restart: always
networks:
- external-net
volumes:
- ./www:/var/www
ports:
- 80:80
build:
context: ./laravel-build
command: "sh -c 'php -S 0.0.0.0:80 -t public public/index.php'"
networks:
external-net:
external:
name: external-net
Dockerfile:
FROM hitalos/laravel:latest
WORKDIR /var/www/
COPY * /var/www/
RUN apk update
RUN composer install
RUN npm install
RUN ./vendor/bin/laravel new; exit 0