Skip to content
Objetivos
Un mismo entorno de ejecución para todos y para desplegar
  • Imagen, contenedor y volumen
  • Entender y crear ficheros Dockerfile y docker-compose para crear el entorno
  • Crear el recurso (fichero) desde nuestro host, y que lo ejecute el apache/nginx del docker
  • Dedicaremos una semana y media (~10-13 h) de clase, no un recorte de 20 minutos

En este módulo, Docker es una parte de él: es el entorno. Evitaremos que cada una en clase, instale Apache y PHP de forma individual, esto crearía algo muy heterogéneo en el aula:

  • Instalación en windows, linux
  • Instalo apache con Xampp, Wampp, Lamp, directamente los paquetes ...
  • Diferentes versiones
  • Generaría el problema de “en mi máquina sí/no”.
  • El contenedor iguala el entorno de ejecución.

En el módulo de Despliegue profundizaréis en Docker y su historia. Fue creado por Solomon Hykes — Docker dentro de - Solomon Hykes: Docker, dotCloud — Y Combinator, la empresa que había fundado, y que se presentó públicamente en marzo de 2013, con su primera versión pública (0.1.0) ese mismo mes.

Versión de docker

Docker se presentó públicamente en 2013 con su versión 0.1. Actualmente, Docker Engine se encuentra en la versión 29.8.1 (septiembre de 2026). Versiones de Docker Engine


Docker, para este módulo

Una forma de empaquetar PHP, Apache y lo que haga falta en un contenedor Linux. Lo levantas igual en Ubuntu, en Windows (con WSL) y, más adelante, en un servidor.

  1. Entender imagen frente a contenedor (y por qué no es una máquina virtual)
  2. Tener el motor instalado y comprobarlo
  3. Los comandos de cada día (run, exec, logs, Compose)
  4. Dejar el entorno escrito: Dockerfile + compose
  5. Escribir PHP en una carpeta del portátil mapeada a /var/www/html
1. Conceptos
[Imagen, contenedor, kernel](/docker/conceptos/). Por qué en Windows hace falta WSL.
2. Instalación
[Motor en Ubuntu o Docker Desktop](/docker/instalaciones/). El repositorio externo de `apt`.
3. Comandos
[Estados, `run`, puertos, volúmenes, `exec`](/docker/comandos/) y limpieza mínima.
4. Dockerfile
[La receta](/docker/dockerfile/). En clase partimos de `php:8.3-apache`.
5. Compose
[El laboratorio](/docker/compose/): servicio `web`, puerto 8800, carpeta `app`.
6. Práctica
[Ruta de la semana](/docker/practica/), del `hello-world` al compose de clase.
El resultado que buscamos
  • Código en el anfitrión (PhpStorm), no “dentro” del contenedor a ciegas
  • Volumen ./app → /var/www/html
  • Navegador: http://localhost:8800
  • Si “no arranca”: docker compose ps y docker compose logs -f

Los recortes de ficheros también están en Instalaciones. La chuleta de terminal, en Comandos Linux.

© 2026 · DAWS · Desarrollo Web en Entorno Servidor