Les images de base à connaître

Celles qu'on retrouve partout, pour tes cours et tes projets Docker · La base

alpine ~5 Mo

Linux ultra-minimaliste (musl libc, BusyBox). Base de prédilection pour des images très légères. Gestionnaire de paquets : apk.

FROM alpine:3.19

ubuntu / debian ~30-80 Mo

Distribution Linux classique. Plus gros qu'Alpine mais glibc + plus de paquets disponibles. Quand t'as besoin d'outils standards.

FROM ubuntu:24.04

nginx ~25 Mo (alpine)

Serveur web et reverse proxy haute performance. Idéal pour servir du statique ou faire du load balancing devant des apps.

FROM nginx:alpine

httpd (apache) ~145 Mo

Le serveur web Apache HTTPD. Pour servir du statique ou comme base de PHP. Variante php:apache combine les deux.

FROM httpd:2.4-alpine

php multiples variantes

Plusieurs déclinaisons : php:cli (juste l'interpréteur), php:fpm (pour Nginx), php:apache (avec mod_php intégré). Variante -alpine = légère.

FROM php:8.3-apache

node ~50 Mo (alpine)

Runtime JavaScript V8. Pour apps Express, Next.js, build front-end. Variante node:lts-alpine = stable et compacte.

FROM node:20-alpine

python ~50 Mo (slim)

Interpréteur Python avec pip. Variantes -slim et -alpine pour réduire la taille. Très utilisé pour scripts, data, ML.

FROM python:3.12-slim

mysql / postgres ~200-400 Mo

Bases de données prêtes à l'emploi. Configurées via variables d'env (MYSQL_ROOT_PASSWORD, POSTGRES_DB...). Volumes pour persister.

FROM postgres:16-alpine

Pattern fréquent : stack web LAMP/LEMP = nginx (ou apache) + php-fpm + mysql/postgres + ton code, orchestré avec docker compose. C'est le squelette de 80 % des projets web.

Répertoires pour les fichiers web

Dans l'image HTTPD :

/usr/local/apache2/htdocs/

Dans l'image PHP :

/var/www/html/

420-5A4-MT · Serveurs évolutifs · cliquer une commande la copie