No description
Find a file
Jérémy f8512fd649 Merge branch 'add-php-85-ci-extensions' into 'master'
build(docker): update PHP extensions configuration

See merge request ldc-web/projets/ldc-web-images-docker!10
2026-10-05 15:06:46 +02:00
InfraV2 - Add stack infrav2 w/o Traefik 2022-04-12 10:02:13 +02:00
PHP7.3 feat: Add sockets ext to PHP7.3 images 2025-08-06 09:29:38 +02:00
PHP8.3 build : fix php83 dev image 2026-09-17 11:48:53 +02:00
PHP8.5 build(docker): update PHP extensions configuration 2026-10-05 15:05:36 +02:00
SimpleSAMLPHP - Add SimpleSAML 2022-02-03 18:11:59 +01:00
.gitlab-ci.yml feat: Remove PHP 8.5 QA image 2026-09-23 16:27:21 +02:00
README.md docs: 📝 add some comments and explications in readme 2026-09-23 16:27:23 +02:00

UWIL Docker images

Table des matières

Depuis environnement de travail LDC

Voici quelques commandes:

  • pour build une image:
docker build [--no-cache] [--build-arg http_proxy=http://proxy-app.lesidc.com:8080] -t <nom_image> ./PHPX.X/DEV/
  • pour tester l'image build :
docker run --rm <nom_image>:<version>
  • pour tester les outils d'une image build (se positionner à la racine) :
bash PHPX.X/PROD/tests.sh <nom_image>

Comparatif des images 8.5

Voici deux tableaux résumant le gain du temps de build ainsi que la réduction du poids par rapport aux anciennes images utilisées :

Image Ancien build Nouveau build Gain build
DEV ~235s ~159s -76s (-32%)
PROD ~212s ~142s -70s (-33%)
QA ~224s ~125s -99s (-44%)
Image Ancien poids Nouveau poids Réduction poids
DEV 1.44 GB 457 MB -983 MB (-68%)
PROD 1.19 GB 212 MB -978 MB (-82%)
QA 1.27 GB 270 MB -1.00 GB (-79%)

Explication des Dockerfiles pour images 8.5

Les images sont construites selon une approche multi-stage, afin de séparer les éléments nécessaires à la construction de l'image de ceux réellement utiles à son exécution.

Cette séparation permet de :

  • réduire la taille de l'image finale,
  • éviter d'embarquer les compilateurs et outils de compilation en production,
  • accélérer les builds grâce à une meilleure séparation des étapes,
  • conserver une image d'exécution plus propre et plus légère.

Voici un exemple concret résultant de cette approche grâce au comparatif des images 8.5.

Stage n°1: builder

Le premier stage est dédié à la construction de l'environnement.

Il contient l'ensemble des dépendances et outils nécessaires pour compiler les composants qui ne sont pas directement disponibles dans l'image de base.

On y retrouve donc certaines actions :

  • installation des dépendances nécessaires à la compilation,
  • compilation et installation des composants complémentaires,
  • installation des outils nécessaires au projet.

Stage n°2: base

Le second stage constitue la base de l'image finale. Il repart d'une image PHP minimale et n'embarque pas les outils de compilation du stage précédent.

Les éléments produits lors du build sont récupérés depuis le premier stage et copiés dans cette image, on bénéficie ainsi des composants compilés sans conserver l'environnement ayant servi à les compiler.

On y retrouve donc certaines actions :

  • installation des dépendances nécessaires au runtime,
  • configuration de PHP,
  • configuration du serveur web,
  • configuration des différents services et outils nécessaires,
  • définition des permissions,
  • etc…