Public Repository

Last pushed: 2 months ago
Short Description
A php docker image built for pedagogical purposes.
Full Description

Tags :

  • 7.1, latest
  • 5.6

Image docker pour la création d'un container destiné à du dev. web en php. L'image est basée sur
l'images php officielle, avec le tag 5.6-apache, 7.1-apache.
Le dockerfile s'inspire de celui-ci, et de vaprobash

Contenu de l'image

apache :

  • apache 2.4, modules mod_rewrite et mod_ssl activés,
  • un vhost par défaut sur le port 80, docroot /var/www/html
  • un vhost ssl par défaut sur le port 443, docroot /var/www/html, certificat auto-signé
  • création optionnelle d'un vhost supplémentaire, sur les ports 80 et 443, en définissant 2 variables d'environnement :
    • VHOST_HOSTNAME : contient le hostname du vhost
    • VHOST_DOCROOT : le docroot du vhost

php :

  • php5.6, ou php7.1, sous forme de module apache ( mod_php7, mod_php5)
  • extensions : mbstring, curl, ftp, openssl, zlib, bcmath, bz2, calendar, dba, exif
    gd, gettext, imap, intl, mcrypt, soap, tidy, xmlrpc, xsl, zip, imagick
  • PDO : pdo, pdo_mysql, pdo_sqlite, pdo_pgsql
  • autres extensions : xdebug, mongodb, redis
  • composer
  • pour ajouter de nouvelles extensions : se référer à la doc de l'image php officielle, et créer un dockerfile

Configuration php :

[PHP]
memory_limit = 512M
max_execution_time = 60
error_reporting = -1
display_errors = On
display_startup_errors = On
track_errors = On
variables_order = "GPCS"
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
file_uploads = On
upload_max_filesize = 8M
max_file_uploads = 25
;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;
allow_url_fopen = On
allow_url_include = Off

Utilisation de l'image

Il est conseillé de monter les volumes correspondant aux docroot des vhosts créés : vhost par défaut s'il est utilisé,
vhost spécifique.

exemple :

$ docker run -d --name vhost-php \
       -e "VHOST_HOSTNAME=vost.php.local" \
       -e "VHOST_DOCROOT=/var/www/vost"   \
       -p 9080:80 -p 9443:443 \
       -v $(PWD)/html:/var/www/html \
       -v $(PWD)/api:/var/www/vost \
       -v $(PWD)/src:/var/www/src \
       canals/php:latest

Adaptation de l'image

Pour adapter l'image à des besoins particuliers, le plus simple est de créer un Dockerfile et de l'utiliser pour
installer des extensions, pour copier un fichier de configuration ou pour déclarer un volume spécifique.

  • installer des extensions : utiliser l'approche proposée par l'image php officielle : voir les explications
    ici
  • modifier la configuration php : copier un fichier .ini dans le répertoire /usr/local/etc/php/

exemple

FROM canals/php:7.1

RUN pecl install mailparse \
   && docker-php-ext-enable mailparse

COPY local.ini /usr/local/etc/php/
Docker Pull Command
Owner
canals

Comments (0)