Prestashop en Docker

Os presento mi Prestashop en Docker Compose, en sus versiones 1.6 y 1.7

Este docker genera las imagenes de Lampp y phpmyadmin, sin más florituras.
Si necesitas añadir servicios adicionales en este WordPress en Docker, tendrás que modificar bin/webserver/Dockerfile

Lo podeis encontrar en
Versión 1.6 -> https://github.com/apachebcn/docker_ps16.git
Versión 1.7 -> https://github.com/apachebcn/docker_ps17.git

Si no sabes lo que es Docker mírate mi artículo Docker y Docker-compose

Disposición de ficheros de Prestashop en Docker

Ficheros de Prestashop en Docker
Ficheros para ejecutar Prestashop dentro de Docker

En el fichero .env he centralizado la definición de variables básicas, referidas a los puertos, nombres de contenedores, etc.
Tal como se muestra en la foto.

fichero env de Prestashop en Docker

El CONTAINER-NAME define el nombre de todos los contendores. Con el sufijo añadido de _php _mysql o _phpmyadmin

Los ficheros bash ejecutables, entran en los contenedores (si el contenedor está ejecutándose):
_bash_webserver.sh: Entra en el contenedor php
_bash_mysql.sh: Entra en el contenedor mysql
_bash_phpmyadmin.sh: Entra en el contenedor phpmyadmin (aunque este no tiene demasiada utilidad)

Arranque del contenedor de Prestashop

Pues ahora nos colocamos con la consola en el directorio donde tenemos este contenido de docker compose y su configuración.
Ejecutamos:

$ docker-compose up

Parada del contenedor de Prestashop

De la misma forma que antes, nos situamos con la consola en el punto donde hemos situado este docker composer y sus ficheros, y ejecutamos:

$ docker-compose down

Arranque y parada del contenedor de phpmyadmin en Docker para acceder al mysql de Prestashop

$ docker-compose -f docker-compose-phpmyadmin.yml up
$ docker-compose -f docker-compose-phpmyadmin.yml down

Si no estás muy aficionado con Docker, lo que vas a conseguir ejecutando Prestashop dentro de Docker, es ejecutar un Prestashop virtual.
Pues con esto ya no necesitas instalar en tu ordenador Lampp ni ningún servicio relacionado.
Prestashop funcionará en tu navegador en el puerto que tu indiques, y el modus operandi será como si este Prestashop estuviera en un servidor remoto.
Los ficheros, fotos, plugins, themes y demás, estarán en data/www, y los cambios que realices ahí serán reconocidos en tiempo real por el contenedor de Docker.

Otra ventaja muy buena, es que puedes clonar esta carpeta, y cambiando algunas variables del fichero .env, básicamente nombre de contenedor y puertos, podrás levantar múltiples instancias de Prestashop.

Reiniciar la base de datos de Prestashop

Pues ahora tan sólo tienes que borrar el contenido de data/mysql.
Cuando hagas un down/up de este docker compose, la base de datos se reconstruirá de nuevo de tal forma que tendrás un Prestashop totalmente nuevo y funcional en cuestión de segundos.

Acerca de Pedro Reina

Más de 15 años de experiencia en programación Php, python, Mysql, Hml, css, y algunos frameworks. Webmaster aprendiendo SEO. Entusiasta de la informática y la electrónica, pequeño emprendedor y fabricante de ideas.

Deja una respuesta