Blog 

Estás viendo un solo post, ver todos

Servidores web instantáneos con Docker

Publicado el 4 de Abril de 2026 en  

A veces necesitamos montar un servidor web de prueba y no tenemos ganas de pensar. Para estas situaciones podemos usar aplicaciones de Docker que se definen en un par de líneas y salen andando.

Opción 1: echo server

La opción más ligera es un echo server programado en Go que devuelve una respuesta HTTP 200 con un texto arbitrario.

En un docker-compose.yml ponemos:

services:
  web:
    image: hashicorp/http-echo
    command: ["-text", "Hola gato"]
    restart: unless-stopped
    ports:
      - 80:5678

Corremos docker compose up -d y tenemos servidor.

Opción 2: PHP + Apache

Otra opción es usar la imagen oficial de Docker de PHP que viene con un servidor Apache:

services:
  web:
    image: php:8.5-apache
    restart: unless-stopped
    volumes:
      - ./www:/var/www/html
    ports:
      - 80:80

Por defecto Apache viene con mod_rewrite desactivado, pero podemos activarlo durante la creación de la imagen:

services:
  web:
    build:
      dockerfile_inline: |
        FROM php:8.5-apache
        RUN a2enmod rewrite
    restart: unless-stopped
    volumes:
      - ./www:/var/www/html
    ports:
      - 80:80

Opción 3: PHP + Apache en Alpine

También podemos usar una imagen no oficial basada en Alpine que viene con varios mods activados, incluyendo mod_rewrite y SSL:

services:
  web:
    image: eriksoderblom/alpine-apache-php:latest
    restart: unless-stopped
    volumes:
      - ./www:/htdocs
    ports:
      - 80:80
      - 443:443

En el directorio www ponemos el sitio, y listo el pollo.

Personalmente prefiero usar aplicaciones de Docker Compose porque son expresivas y es muy fácil manipular redes y volúmenes, pero también se puede configurar con un solo comando:

docker run --detach \
    --name web \
    --publish 80:80 \
    --restart unless-stopped \
    --volume ./www:/htdocs \
    eriksoderblom/alpine-apache-php:latest