🐳 docker-labs GitHub ↗

PHP LAMP Starter

Entorno clasico para aplicaciones administrativas con PHP, Apache y MariaDB.

Objetivo: Reproducir el stack LAMP clasico con PHP, Apache y MariaDB en contenedores separados.

Rol en la plataforma
Stack web clasico
Stack
PHP 8.1 + Apache + MariaDB
Puertos del host
8081 8082 3306
Memoria recomendada
3 GB
Categoría
Starter
Entradas
Web: http://localhost:8081
phpMyAdmin: http://localhost:8082
Health check
http://localhost:8081/
Labs relacionados
Inventory Core · Python API

Qué hacer una vez levantado

docker compose -f 02-php-lamp/docker-compose.yml up -d --build

02-php-lamp#

Stack LAMP clásico con PHP 8.3, Apache, MariaDB 10.6 y phpMyAdmin.

Servicios y puertos#

ServicioPuerto hostDescripcion
Apache + PHP8081Aplicacion web principal
phpMyAdmin8082Administrador de base de datos
MariaDB3306Base de datos relacional

Inicio rapido#

docker compose up -d --build
URLDescripcion
http://localhost:8081Aplicacion PHP
http://localhost:8082phpMyAdmin

Credenciales de base de datos#

VariableValor por defecto
Base de datosappdb
Usuarioappuser
Passwordapppass
Root passwordrootpass

Las variables se pueden sobreescribir con un archivo .env:

DB_NAME=lamp_db
DB_USER=lamp_user
DB_PASS=lamp_pass
DB_ROOT=root_pass

Health checks#

ServicioCheckComando
MariaDBConectividadmysqladmin ping -h 127.0.0.1
Apache + PHPHTTP 200curl -f http://localhost/

Arquitectura#

Cliente
  └── Apache + PHP 8.3 (:80 → :8081)
        └── MariaDB 10.6 (:3306)
phpMyAdmin (:80 → :8082)
  └── MariaDB 10.6 (:3306)

Despliegue en Kubernetes#

kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml

Verificacion#

# Estado de los contenedores y sus health checks
docker compose ps

# Logs de Apache
docker compose logs web

# Acceso directo a la DB
docker compose exec db mysqladmin ping -h 127.0.0.1 --silent && echo "DB OK"