I want to start project and make my own framework for technical future work test, so i want to install composer for install some library, but when i execut
docker-compose exec php bash
terminal say to me service “php” is not running
My question is : What is the right container for running composer ? apache, php ? Create a composer container ?
I have docker-compose.yml
version: "3.8"
services:
apache:
container_name: apache
build: ./docker/apache
links:
- php
ports:
- "81:80"
volumes:
- ./src:/usr/local/apache2/htdocs
php:
container_name: php
build: ./docker/php
ports:
- "9000:9000"
volumes:
- ./src:/usr/local/apache2/htdocs
working_dir: /usr/local/apache2/htdocs
with Docker file for apache
// apache/Dockerfile
FROM httpd:2.4.51
COPY apache.conf /usr/local/apache2/conf/apache.conf
RUN echo "Include /usr/local/apache2/conf/apache.conf"
>> /usr/local/apache2/conf/httpd.conf
with apache.conf
LoadModule deflate_module /usr/local/apache2/modules/mod_deflate.so
LoadModule proxy_module /usr/local/apache2/modules/mod_proxy.so
LoadModule proxy_fcgi_module /usr/local/apache2/modules/mod_proxy_fcgi.so
<VirtualHost *:80>
ProxyPassMatch ^/(.*.php(/.*)?)$ fcgi://php:9000/usr/local/apache2/htdocs/$1
DocumentRoot /usr/local/apache2/htdocs
<Directory /usr/local/apache2/htdocs>
Options -Indexes +FollowSymLinks
DirectoryIndex index.php
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
and DockerFile for PHP with COMPOSER installation
FROM php:8.1-fpm
WORKDIR /var/www
RUN apt-get update
RUN docker-php-ext-install pdo pdo_mysql mysqli
RUN apt-get install -y autoconf pkg-config libssl-dev
RUN pecl install mongodb
RUN echo "extension=mongodb.so" >> /usr/local/etc/php/conf.d/mongodb.ini
COPY --from=composer /usr/bin/composer /usr/bin/composer