Разворачивание приложения в docker одной командой
Стоит задача развернуть приложение в докере одной командой docker-compose -up --build, подскажите как можно запустить команду composer install во время развертывания , если я указываю в dockerfiles строку CMD composer install, то папка vendor появляется, но не запускается контейнер php с сервером, как еще можно запустить composer install?
Dockerfiles:
FROM php:7.3.24-apache-stretch
RUN apt-get update
#Install tools required for build stage
RUN apt-get install -fyqq \
bash curl wget rsync ca-certificates openssl ssh git tzdata openntpd \
libxrender1 fontconfig libc6 \
mariadb-client gnupg binutils-gold autoconf \
g++ gcc gnupg libgcc1 linux-headers-amd64 make python
#Install composer
RUN curl -sS https://getcomposer.org/installer | php -- \
--filename=composer \
--install-dir=/usr/local/bin && \
composer
#Install additional PHP libraries
RUN docker-php-ext-install bcmath pdo_mysql
#Install libraries for compiling GD, then build it
RUN apt-get install -fyqq libfreetype6 libfreetype6-dev libpng16-16 libpng-dev libjpeg62-turbo libjpeg62-turbo-dev \
&& docker-php-ext-install gd \
&& apt-get remove -fyqq libfreetype6-dev libpng-dev libjpeg62-turbo-dev
#Add ZIP archives support
RUN apt-get install -fyqq zip libzip-dev \
&& docker-php-ext-install zip \
&& apt-get remove -fyqq
WORKDIR /var/www/html
CMD composer install
docker-compose.yml
version: "3.5"
services:
php:
build:
context: php
ports:
- 8000:80
volumes:
- ./:/var/www/html
mariadb:
image: mariadb:10.4
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: task_db
volumes:
- ./databases:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
ports:
- 8080:80
environment:
PMA_HOST: mariadb