Loading Dockerfiledeleted 100644 → 0 +0 −33 Original line number Diff line number Diff line ARG PHP_VERSION FROM unicaen-dev-php${PHP_VERSION}-apache LABEL maintainer="Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>" WORKDIR /var/www/html ENV APACHE_CONF_DIR=/etc/apache2 \ PHP_CONF_DIR=/etc/php/${PHP_VERSION} ## Installation de packages requis. RUN apt-get update -qq && \ apt-get install -y \ php${PHP_VERSION}-pgsql # Nettoyage RUN apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/tmp/* # Symlink apache access and error logs to stdout/stderr so Docker logs shows them RUN ln -sf /dev/stdout /var/log/apache2/access.log RUN ln -sf /dev/stdout /var/log/apache2/other_vhosts_access.log RUN ln -sf /dev/stderr /var/log/apache2/error.log # Configuration Apache et FPM ADD docker/apache/000-default.conf ${APACHE_CONF_DIR}/sites-available/ ADD docker/php/fpm/conf.d/*.ini ${PHP_CONF_DIR}/fpm/conf.d/ ADD docker/php/cli/conf.d/*.ini ${PHP_CONF_DIR}/cli/conf.d/ RUN a2enconf php${PHP_VERSION}-fpm.conf && \ service php${PHP_VERSION}-fpm reload RUN composer self-update --2 README.md +40 −1 Original line number Diff line number Diff line Loading @@ -4,9 +4,48 @@ Ce squelette d'application constitue un socle minimal pour entamer rapidement le application à la mode "Unicaen". ## Prérequis ### Docker ```bash sudo apt install docker.io ``` ### Git ```bash sudo apt install git ``` ### PHP CLI 8.2 ```bash sudo apt install php8.2-cli ``` ### Composer ```bash mkdir -p ~/.bin wget https://getcomposer.org/download/2.2.24/composer.phar mv composer.phar ./composer chmod +x ./composer ./composer install ``` ## Installation ```bash git clone git@git.unicaen.fr:lib/unicaen/skeleton-application.git MonApplication cd !$ git checkout php8.2-docker-services ``` ## Création d'une nouvelle appli à partir du squelette Imaginons que nous voulons créer une nouvelle appli PHP 8.0 dans le répertoire `./newapp`. Imaginons que nous voulons créer une nouvelle appli PHP 8.1 dans le répertoire `./newapp`. ### Préalable Loading compose.yml +3 −3 Original line number Diff line number Diff line Loading @@ -7,9 +7,9 @@ services: container_name: application-postgres restart: always environment: POSTGRES_USER: db_user POSTGRES_PASSWORD: db_pass POSTGRES_DB: db_exemple POSTGRES_USER: app_user POSTGRES_PASSWORD: app_pass POSTGRES_DB: app_db networks: - application-network env_file: Loading install/docker-config/Dockerfile-apache +46 −8 Original line number Diff line number Diff line Loading @@ -8,19 +8,57 @@ RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf # RUN apt-get update && apt-get -y install php8.2-gearman RUN apt update && apt install -y \ wget \ libpq-dev \ postgresql-client \ libgearman-dev \ gearman-job-server \ && docker-php-ext-install sockets pdo pdo_pgsql \ && pecl install gearman \ && docker-php-ext-enable gearman \ && pecl install xdebug && \ docker-php-ext-enable xdebug gearman-job-server # Configuration PHP COPY ./apache/php.ini /usr/local/etc/php/conf.d/application.ini RUN pecl install gearman RUN docker-php-ext-enable gearman RUN pecl install xdebug RUN docker-php-ext-enable xdebug RUN docker-php-ext-install bcmath RUN docker-php-ext-install gettext RUN docker-php-ext-install pdo RUN docker-php-ext-install pdo_pgsql RUN docker-php-ext-install sockets RUN apt install -y libsodium-dev RUN docker-php-ext-install sodium RUN apt-get install -y libicu-dev \ && docker-php-ext-configure intl \ && docker-php-ext-install intl COPY ./apache/php.ini /usr/local/etc/php/conf.d/application.ini # LDAP RUN apt-get install -y libldap2-dev && \ docker-php-ext-install ldap RUN apt install zlib1g-dev RUN apt install -y libpng-dev RUN docker-php-ext-install gd RUN apt install -y libzip-dev RUN docker-php-ext-install zip # Git RUN apt install -y git # Installation de composer RUN wget https://getcomposer.org/download/2.2.24/composer.phar RUN mv composer.phar /bin/composer RUN chmod +x /bin/composer RUN a2enmod rewrite WORKDIR /var/application #USER www-data #RUN composer install install/docker-config/Dockerfile-postgresql +1 −1 Original line number Diff line number Diff line FROM postgres:16-alpine FROM postgres:14-alpine # Dockerfile un peut complexe, dsl Loading Loading
Dockerfiledeleted 100644 → 0 +0 −33 Original line number Diff line number Diff line ARG PHP_VERSION FROM unicaen-dev-php${PHP_VERSION}-apache LABEL maintainer="Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>" WORKDIR /var/www/html ENV APACHE_CONF_DIR=/etc/apache2 \ PHP_CONF_DIR=/etc/php/${PHP_VERSION} ## Installation de packages requis. RUN apt-get update -qq && \ apt-get install -y \ php${PHP_VERSION}-pgsql # Nettoyage RUN apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/tmp/* # Symlink apache access and error logs to stdout/stderr so Docker logs shows them RUN ln -sf /dev/stdout /var/log/apache2/access.log RUN ln -sf /dev/stdout /var/log/apache2/other_vhosts_access.log RUN ln -sf /dev/stderr /var/log/apache2/error.log # Configuration Apache et FPM ADD docker/apache/000-default.conf ${APACHE_CONF_DIR}/sites-available/ ADD docker/php/fpm/conf.d/*.ini ${PHP_CONF_DIR}/fpm/conf.d/ ADD docker/php/cli/conf.d/*.ini ${PHP_CONF_DIR}/cli/conf.d/ RUN a2enconf php${PHP_VERSION}-fpm.conf && \ service php${PHP_VERSION}-fpm reload RUN composer self-update --2
README.md +40 −1 Original line number Diff line number Diff line Loading @@ -4,9 +4,48 @@ Ce squelette d'application constitue un socle minimal pour entamer rapidement le application à la mode "Unicaen". ## Prérequis ### Docker ```bash sudo apt install docker.io ``` ### Git ```bash sudo apt install git ``` ### PHP CLI 8.2 ```bash sudo apt install php8.2-cli ``` ### Composer ```bash mkdir -p ~/.bin wget https://getcomposer.org/download/2.2.24/composer.phar mv composer.phar ./composer chmod +x ./composer ./composer install ``` ## Installation ```bash git clone git@git.unicaen.fr:lib/unicaen/skeleton-application.git MonApplication cd !$ git checkout php8.2-docker-services ``` ## Création d'une nouvelle appli à partir du squelette Imaginons que nous voulons créer une nouvelle appli PHP 8.0 dans le répertoire `./newapp`. Imaginons que nous voulons créer une nouvelle appli PHP 8.1 dans le répertoire `./newapp`. ### Préalable Loading
compose.yml +3 −3 Original line number Diff line number Diff line Loading @@ -7,9 +7,9 @@ services: container_name: application-postgres restart: always environment: POSTGRES_USER: db_user POSTGRES_PASSWORD: db_pass POSTGRES_DB: db_exemple POSTGRES_USER: app_user POSTGRES_PASSWORD: app_pass POSTGRES_DB: app_db networks: - application-network env_file: Loading
install/docker-config/Dockerfile-apache +46 −8 Original line number Diff line number Diff line Loading @@ -8,19 +8,57 @@ RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf # RUN apt-get update && apt-get -y install php8.2-gearman RUN apt update && apt install -y \ wget \ libpq-dev \ postgresql-client \ libgearman-dev \ gearman-job-server \ && docker-php-ext-install sockets pdo pdo_pgsql \ && pecl install gearman \ && docker-php-ext-enable gearman \ && pecl install xdebug && \ docker-php-ext-enable xdebug gearman-job-server # Configuration PHP COPY ./apache/php.ini /usr/local/etc/php/conf.d/application.ini RUN pecl install gearman RUN docker-php-ext-enable gearman RUN pecl install xdebug RUN docker-php-ext-enable xdebug RUN docker-php-ext-install bcmath RUN docker-php-ext-install gettext RUN docker-php-ext-install pdo RUN docker-php-ext-install pdo_pgsql RUN docker-php-ext-install sockets RUN apt install -y libsodium-dev RUN docker-php-ext-install sodium RUN apt-get install -y libicu-dev \ && docker-php-ext-configure intl \ && docker-php-ext-install intl COPY ./apache/php.ini /usr/local/etc/php/conf.d/application.ini # LDAP RUN apt-get install -y libldap2-dev && \ docker-php-ext-install ldap RUN apt install zlib1g-dev RUN apt install -y libpng-dev RUN docker-php-ext-install gd RUN apt install -y libzip-dev RUN docker-php-ext-install zip # Git RUN apt install -y git # Installation de composer RUN wget https://getcomposer.org/download/2.2.24/composer.phar RUN mv composer.phar /bin/composer RUN chmod +x /bin/composer RUN a2enmod rewrite WORKDIR /var/application #USER www-data #RUN composer install
install/docker-config/Dockerfile-postgresql +1 −1 Original line number Diff line number Diff line FROM postgres:16-alpine FROM postgres:14-alpine # Dockerfile un peut complexe, dsl Loading