🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo instalar PrestaShop en local con Docker (contenedor)

Actualizado el 7 de enero de 2026

¿Por qué usar Docker para instalar PrestaShop en local?

Si alguna vez has intentado montar un entorno de desarrollo para PrestaShop, sabrás que puede ser un dolor de cabeza: necesitas un servidor web, PHP con extensiones concretas, MySQL, configurar permisos... Con Docker, todo este proceso se simplifica enormemente.

Docker te permite crear "contenedores" que funcionan como pequeñas máquinas virtuales ligeras, donde cada servicio (base de datos, servidor web, aplicación) corre de forma aislada pero coordinada. Para un proyecto como PrestaShop, esto significa que puedes tener tu tienda funcionando en tu ordenador en cuestión de minutos, sin ensuciar tu sistema operativo con instalaciones complejas.

En esta guía, voy a explicarte paso a paso cómo instalar PrestaShop en local con Docker. No necesitas ser un experto en DevOps; solo tener paciencia y seguir las instrucciones al pie de la letra. Al final, tendrás tu tienda de prueba funcionando en http://localhost:8080.

Requisitos previos antes de empezar

Antes de lanzarnos a instalar PrestaShop con Docker, asegúrate de tener lo siguiente:

  • Docker Desktop instalado en tu ordenador (disponible para Windows, macOS y Linux).
  • Docker Compose (normalmente viene incluido con Docker Desktop).
  • Al menos 4 GB de RAM libre para que los contenedores funcionen con fluidez.
  • Un terminal o línea de comandos (PowerShell, Terminal, etc.).

Comprobar que Docker funciona

Abre tu terminal y ejecuta:

docker --version
docker compose version

Si ambos comandos devuelven algo como Docker version 24.0.7 y Docker Compose version v2.24.0, estás listo para continuar.

Instalar PrestaShop con Docker Compose: la forma más fácil

La forma más recomendada de instalar PrestaShop en local con Docker es usando Docker Compose. Este archivo define todos los servicios necesarios (aplicación y base de datos) y los lanza juntos con un solo comando.

Paso 1: Crear la estructura de carpetas

Primero, crea una carpeta para tu proyecto. Puedes llamarla prestashop-docker o como prefieras. Dentro de ella, crearemos el archivo de configuración.

mkdir prestashop-docker
cd prestashop-docker

Paso 2: Crear el archivo docker-compose.yml

Aquí está la clave de todo. Vamos a crear un archivo llamado docker-compose.yml con el siguiente contenido:

version: '3.8'

services:
  prestashop:
    image: prestashop/prestashop:latest
    container_name: prestashop_app
    ports:
      - "8080:80"
    environment:
      - PS_DOMAIN=localhost:8080
      - DB_SERVER=db
      - DB_NAME=prestashop
      - DB_USER=prestashop
      - DB_PASSWD=prestashop
    volumes:
      - prestashop_data:/var/www/html
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: mysql:8.0
    container_name: prestashop_db
    environment:
      - MYSQL_ROOT_PASSWORD=rootpassword
      - MYSQL_DATABASE=prestashop
      - MYSQL_USER=prestashop
      - MYSQL_PASSWORD=prestashop
    volumes:
      - db_data:/var/lib/mysql
    restart: unless-stopped

volumes:
  prestashop_data:
  db_data:

Este archivo es el corazón de la instalación de PrestaShop con Docker Compose. Vamos a desglosarlo:

  • prestashop: el contenedor principal con la imagen oficial de PrestaShop. Mapea el puerto 8080 de tu ordenador al puerto 80 del contenedor.
  • db: un contenedor con MySQL 8.0 que almacenará los datos de tu tienda.
  • volumes: son discos virtuales que persisten los datos aunque borres los contenedores.

Paso 3: Lanzar los contenedores

Con el archivo guardado, ejecuta en la terminal (dentro de la carpeta prestashop-docker):

docker compose up -d

La primera vez, Docker descargará las imágenes, lo que puede tardar unos minutos dependiendo de tu conexión. Verás una salida similar a esta:

[+] Running 3/3
 ✔ Network prestashop-docker_default  Created
 ✔ Container prestashop_db            Started
 ✔ Container prestashop_app           Started

Paso 4: Completar la instalación desde el navegador

Abre tu navegador y ve a http://localhost:8080. Deberías ver el asistente de instalación de PrestaShop.

[TIP] Si no carga nada, espera 30 segundos más; MySQL necesita arrancar antes que la aplicación.

En el asistente, selecciona tu idioma y haz clic en "Siguiente". Acepta la licencia y continúa.

Paso 5: Configurar la base de datos

Aquí viene el momento crítico. En el paso de configuración de la base de datos, introduce estos datos:

  • Dirección del servidor de base de datos: db (así se llama el servicio en Docker Compose, no uses localhost).
  • Nombre de la base de datos: prestashop
  • Usuario: prestashop
  • Contraseña: prestashop
  • Deja el prefijo por defecto (ps_).

Haz clic en "Probar conexión" y deberías ver un mensaje verde de éxito.

Paso 6: Configurar la tienda y crear el administrador

Ahora completa la información de tu tienda:

  • Nombre de la tienda: el que quieras (ej. "Mi Tienda de Pruebas").
  • Actividad principal: elige la que más se ajuste.
  • País: tu país.

En el apartado de cuenta de administrador, crea un usuario y contraseña para acceder al panel de control. Guárdalos bien, los necesitarás siempre.

Finaliza la instalación y ¡listo! Tu PrestaShop en local con Docker está funcionando.

Alternativa rápida: usar solo la imagen de PrestaShop

Si no quieres usar Docker Compose (aunque te lo recomiendo encarecidamente), puedes lanzar un contenedor suelto con el comando docker run. Pero ten en cuenta que necesitarás una base de datos externa o crear otro contenedor manualmente.

docker run -d -p 8080:80 -e PS_DOMAIN=localhost:8080 --name prestashop prestashop/prestashop:latest

Este comando arranca PrestaShop, pero sin base de datos configurada. No es el método más limpio para instalar PrestaShop con Docker, así que si buscas una solución completa, quédate con Docker Compose.

Configuraciones adicionales útiles

Cambiar el puerto de acceso

Si el puerto 8080 está ocupado, puedes cambiarlo en el archivo docker-compose.yml. Por ejemplo, para usar el puerto 8081:

ports:
  - "8081:80"

Activar el modo de desarrollo

Si vas a desarrollar módulos o temas, es útil activar el modo debug de PrestaShop. Edita el archivo config/defines.inc.php dentro del contenedor o añade variables de entorno:

environment:
  - PS_DEV_MODE=1

Añadir módulos o temas personalizados

Puedes montar carpetas locales dentro del contenedor para añadir tus módulos:

volumes:
  - ./modulos:/var/www/html/modules
  - ./temas:/var/www/html/themes

Comandos esenciales de Docker para tu día a día

Estos comandos te serán muy útiles mientras trabajes con tu PrestaShop en contenedor Docker:

  • Ver contenedores activos: docker ps
  • Ver logs de PrestaShop: docker logs prestashop_app
  • Entrar al contenedor: docker exec -it prestashop_app bash
  • Detener todo: docker compose stop
  • Reiniciar todo: docker compose restart
  • Borrar todo (incluidos datos): docker compose down -v

[WARNING] El comando docker compose down -v borra los volúmenes, es decir, eliminará todos los datos de tu tienda. Úsalo solo si quieres empezar de cero.

Solución de problemas comunes (FAQ)

"No puedo acceder a http://localhost:8080"

  • Comprueba que los contenedores están corriendo: docker ps.
  • Espera 1-2 minutos la primera vez, la instalación es lenta.
  • Revisa los logs: docker logs prestashop_app.

"Error de conexión a la base de datos"

  • Asegúrate de que en el asistente de instalación pones db como servidor, no localhost.
  • Verifica que las credenciales coinciden con las del archivo docker-compose.yml.

"La página carga pero sin estilos ni imágenes"

Esto suele pasar por un problema con el dominio. Asegúrate de que en el asistente pusiste localhost:8080 como dominio y que la variable PS_DOMAIN está bien definida.

"Quiero usar una versión anterior de PrestaShop"

Cambia la etiqueta de la imagen en docker-compose.yml:

image: prestashop/prestashop:1.7.8.10

"¿Puedo usar MariaDB en lugar de MySQL?"

Sí, solo cambia la imagen del servicio db a mariadb:10.6 y ajusta las variables de entorno si es necesario.

Ventajas de usar Docker para PrestaShop

Instalar PrestaShop en local con Docker tiene beneficios enormes:

  • Reproducibilidad: el mismo archivo docker-compose.yml funciona en cualquier ordenador.
  • Aislamiento: tu sistema operativo no se llena de dependencias.
  • Velocidad: puedes destruir y recrear el entorno en minutos.
  • Colaboración: compartir tu configuración con otros desarrolladores es tan fácil como enviar un archivo.

Conclusión y próximos pasos

Has conseguido instalar PrestaShop en local con Docker siguiendo estos sencillos pasos. Ahora tienes un entorno de desarrollo completo y aislado donde puedes experimentar sin miedo a romper nada.

Si quieres llevar tu tienda a producción, recuerda que necesitarás un servidor dedicado o un VPS. En ese caso, plataformas como Syspanel (accesible en el puerto 2106) pueden ayudarte a gestionar tus sitios web con un panel de control amigable, aunque para el desarrollo local, Docker es la opción perfecta.

Te recomiendo que practiques:

  • Instalando módulos desde el panel de administración.
  • Creando un tema personalizado.
  • Probando diferentes versiones de PHP o MySQL cambiando las imágenes.

La curva de aprendizaje de Docker merece la pena. En poco tiempo, instalar PrestaShop con Docker Compose se convertirá en algo natural para ti.


[INFO] Si en algún momento te sientes perdido, recuerda que puedes detener todo con docker compose stop y retomarlo cuando quieras con docker compose start. No hay prisa, y cada error es una oportunidad para aprender.

¿Tienes alguna duda concreta sobre cómo instalar PrestaShop en local con Docker? Déjala en los comentarios y estaré encantado de ayudarte a resolverla.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel